Re: How to control another program to run cryptically?
thanks for your help.
I'v installed a global hook in a DLL(SetWindowsHookEx(WH_GETMESSAGE,
(HOOKPROC)GetMsgProc, g_hInstDLL, 0);), but can't catch the message of
WM_SHOWWINDOW(I use XP +VC6.0,there is no definition of WM_SHOW),
this is the callback function:
LRESULT CALLBACK GetMsgProc(int nCode, WPARAM wParam, LPARAM lParam)
{
FILE* stream;
TCHAR sFilename[MAX_PATH]={0};
int n_count;
PMSG p=(PMSG)lParam;
if(p->message==WM_SHOWWINDOW)
{
DWORD m_PID;
HANDLE m_handle;
GetWindowThreadProcessId(p->hwnd,&m_PID);
m_handle=OpenProcess(PROCESS_ALL_ACCESS, TRUE, m_PID);
n_count=GetModuleFileNameEx((HMODULE) ;
m_handle,NULL,sFilename,MAX_PATH);
CloseHandle(m_handle);
stream = fopen( "c:\\sys_fopen.txt", "at" );
fwrite(sFilename,sizeof(char),n_count,stream);
fclose( stream );
}
}
"Joseph M. Newcomer"
You have to be very specific about what you mean by "control". In this
case, you've said
that you want to hide the windows. Usually this involves hooking the
WM_SHOW messages and
forcing the window to become invisible. This means you have to detect the
splash screen,
which is most commonly a modeless dialog with the desktop as a parent, but
whose owner is
the main window of the app. You could use Spy++ to look at its
properties.
joe