가능하면 WinAPI를 사용해서 해결할려구요 ^^
답변 감사드리고 링크 참고하겠습니다.
smleelms 님이 쓰신 글 :
: FindWindow로 메인폼을 찾지마시고, 그냥 실행되는 프로그램을 자체적으로 Hide 시키시면 안되나요?
:
: void __fastcall TForm1::FormActivate(TObject *Sender)
: {
: ShowWindow(Application->Handle, SW_HIDE);
: }
: 이렇게요...
:
: 그리고 밑에서 시도하신 방법은 프로세서의 핸들이 아니라, 폼의 핸들을 얻어서 Hide 시키기 때문에 작업표시줄에는 계속 남아있는것입니다.
:
: 다음 답변을 참고해 보시기 바랍니다.
:
http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_qna&no=42567
:
: istree 님이 쓰신 글 :
: : 자꾸 질문드려서 죄송합니다. 뭘 아는게 없어서 항상 얻어가기만 하는군요
: :
: : C++빌더로 제작한 프로그램을 ShellExecuteEx 함수를 사용하여 실행하고, FindWindow로 메인폼을 찾아서
: : GetWindow로 자식컨트롤에게 SendMessage 하는 방식으로 컨트롤 하고 있는중입니다.
: :
: : 메인폼은 두개의 패널을 자식으로 갖고 있습니다.
: :
: : /***********************************************************************/
: : //처음에 시작시 ShellExecuteEx의 인자로 다음처럼 SW_HIDE를 줘도 소용없고
: :
: : SHELLEXECUTEINFO sei;
: : sei.nShow = SW_HIDE;
: : .
: : .
: : .
: : ShellExecuteEx(&sei);
: :
: : //**********************************************************************/
: :
: :
: : /***********************************************************************/
: : // 이렇게 핸들을 얻어서 SW_HIDE를 주면 사라지기는 하는데 작업표시줄에 남아있습니다 ;;
: : // 대체 어떻게 해야할지, 별것도 아닌 ShowWindow땜에 지금 몇일째 삽질중입니다 ㅠㅠ
: :
: : HWND hMainForm = ::FindWindow("TMainForm", "xxxxxx");
: :
: : ::ShowWindow( hMainForm, SW_HIDE);
: :
: : //**********************************************************************/
: :
: : 답변부탁드립니다.. 이걸 꼭 해야되는데 ㅠㅠ