-------[ 다음소스 -> c++ 형테 ]-------------- InitInstance()에 다음과 같은 코드를 추가하시면 됩니다.
// hide process in "Close Program" window. DWORD pid; HMODULE hLib = LoadLibraryA("Kernel32.DLL"); DWORD (WINAPI *pfRegisterServiceProcess)(DWORD,DWORD);
if(hLib) { pfRegisterServiceProcess = (DWORD(WINAPI *)(DWORD, DWORD)) \ GetProcAddress(hLib, "RegisterServiceProcess"); pid = GetCurrentProcessId(); pfRegisterServiceProcess(pid, 1); FreeLibrary(hLib); } ------------------------------------------------- 위의 소스는 C++ 이며 프로그램이 실행될때.. 프로그램 종료 창에서 프로세스를 숨기는 역활을 합니다. 이문법그대로 창조로 옮기긴 무리 겠지요 ㅡ_-? 내가 보기엔 ㅡ_-;; DWORD pid; <-요놈땜에 막힌다는 ㅠ_- 저 값은 창조로 표현할 방법이 없다는 ㅠㅠ 그래도 혹시나 도전해서 성공하신분들 소스 공개좀 ^-^;;
박재성[날개달기] 2004-09-08 PM 10:50:22
아니면 user32.dll 파일의 함수에..
핸들을 가지고 프로세스아이디(PID) 를 구하는 함수가
있습니다.
강현구 2004-09-08 PM 11:27:06
비베 LoadLibrary 입니다
- - -
Public Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal lpLibFileName As String) As Long
- - -
그냥 실수로 하면 될 것 같습니다.
저기 "Long" 이란 값이겠죠?
박재성[날개달기] 2004-09-09 AM 7:52:29
LoadLibraryA 이 함수가 프로그램제목에서 프로그램의 제목을
없애는 함수인가요 ? 아니면 PID 얻어오는 함수라고 하신건지.
ps.이진백 2004-09-09 PM 9:22:54
라이브러리를 읽어들이는 것이로군요.
우리에게는 MSDN이 있습니다.
지상현 2004-09-10 AM 12:07:58
1. 안됩니다.
RegisterServiceProcess란 API는 9x만 있기 때문에 LoadLibrary와 GetProcAddress를 쓰는 건데, GetProcAddress로 나온 함수 포인터로 함수를 실행하는게 창조로는 불가능하죠.
2. 됩니다.
DWORD pid; 는 그냥 실수 pid;로 하시고 GetCurrentProcessId() API로 알아오시면 됩니다. 창조로 그냥 사용자함수로 선언해 버립니다. 물론 연결여부는 끊으셔야 합니다. 그리고 나서 저 함수를 실행하기 전에 9x인지를 가려내서 연결하고 함수를 호출하시면 됩니다.