19-01-08, 12:18
|
# 1
|
חבר על
|
[C] קימפול של תוכנית
היי,
יש לי את הקוד הנ"ל שכתוב ב-C ואני צריך לקמפל אותו ל-OperaSnapshot.exe
אשמח אם מישהו יכול לעשות לי את זה, זו ממש עבודה של 2 שניות ואני לא מבין שום דבר ב-C.
ציטוט:
#include <windows.h>
HWND OperaContent;
BOOL EnumChildWindowsProc(HWND ChildWindowHandle, LPARAM lParam)
{
char * ChildWindowClass[256];
ZeroMemory(ChildWindowClass, 256);
GetClassName(ChildWindowHandle, ChildWindowClass, 255);
if (strcmp(ChildWindowClass, "OpWindow") == 0)
{
OperaContent = ChildWindowHandle;
return FALSE;
}
return TRUE;
}
BOOL EnumWindowsProc(HWND WindowHandle, LPARAM OperaThreadID)
{
DWORD ThreadID = GetWindowThreadProcessId(WindowHandle, NULL);
if (ThreadID == (DWORD) OperaThreadID)
{
EnumChildWindows(WindowHandle, EnumChildWindowsProc, 0);
return FALSE;
}
return TRUE;
}
int main(int argc, char * argv[])
{
STARTUPINFO StartupInfo;
PROCESS_INFORMATION ProcInfo;
ZeroMemory(&StartupInfo, sizeof(StartupInfo));
StartupInfo.cb = sizeof(StartupInfo);
ZeroMemory(&ProcInfo, sizeof(ProcInfo));
char * OperaStartupCommands[512];
ZeroMemory(OperaStartupCommands, 512);
sprintf(OperaStartupCommands, " /KioskMode %s", argv[1]);
BOOL ProcStatus = CreateProcess("C:\\Program Files\\Opera\\Opera.exe", OperaStartupCommands,
NULL, NULL, FALSE, 0, NULL, NULL, &StartupInfo, &ProcInfo);
if (ProcStatus == TRUE)
{
WaitForInputIdle(ProcInfo.hProcess, INFINITE);
Sleep(3000);
EnumWindows(EnumWindowsProc, ProcInfo.dwThreadId);
printf("%x", OperaContent);
return 0;
}
else return -1;
}
|
__________________
בברכה,
רועי
|
|
|