View Single Post
ישן 19-01-08, 12:18   # 1
-roee-
חבר על
 
מיני פרופיל
תאריך הצטרפות: Nov 2005
מיקום: IL
הודעות: 864

-roee- לא מחובר  

[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 &#37;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;

}

__________________
בברכה,
רועי
  Reply With Quote