活在哪儿?
一个朋友跳了槽,和原先比起来,算是当了准自由人。新公司里的两 […]
一个朋友跳了槽,和原先比起来,算是当了准自由人。新公司里的两 […]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
// // Integrated browser mode - package up a bunch of data into a COPYDATASTRUCT, // and send it to the desktop window via SendMessage(WM_COPYDATA). // void LaunchInternetExplorerWithoutProcess() { #define MAX_IEEVENTNAME 32 // First piece of data is a wide string version of the command line. WCHAR wsz[MAX_IEEVENTNAME] = L""; COPYDATASTRUCT cds = { SW_NORMAL, sizeof(WCHAR), wsz }; // Second piece of data is the event to fire when the browser window reaches WM_CREATE. static DWORD dwNextId = 0; TCHAR szEvent[MAX_IEEVENTNAME + 1]; wsprintf(szEvent, TEXT("IE-%08X-%08X"), GetCurrentThreadId(), dwNextId++); HANDLE hEventReady = CreateEvent(NULL, FALSE, FALSE, szEvent); if(hEventReady) { // Put the (UNICODE) event name at the end of the cds data LPWSTR pwszEvent = &wsz[1]; #ifdef UNICODE lstrcpy(pwszEvent, szEvent); #else MultiByteToWideChar(CP_ACP, 0, szEvent, -1, pwszEvent, sizeof(szEvent) / sizeof(szEvent[0])); #endif cds.cbData += (lstrlenW(pwszEvent) + 1) * sizeof(WCHAR); // Send the message HWND hwndDesktop = GetShellWindow(); int iRet = (int)SendMessage(hwndDesktop, WM_COPYDATA, (WPARAM)hwndDesktop, (LPARAM)&cds); if(iRet) { // Wait for the browser window to hit WM_CREATE. // When this happens, all DDE servers will have been registered. DWORD dwRet = WaitForSingleObject(hEventReady, 1000 * 10); // 10 seconds #ifdef ASSERT ASSERT(dwRet == WAIT_OBJECT_0); #endif // ASSERT } CloseHandle(hEventReady); } #undef MAX_IEEVENTNAME } |
据说现在中国电影导演界有三个巨头,一为张艺谋,二为冯小刚,三 […]
小牛开玩笑,鼓动老汉出书,书名他都帮我想好了,叫《月子》。这 […]
1、《老舍文萃》,文化艺术出版社 2、《话说鲁迅 —— 赵延 […]
老汉好像是个先知后觉的人。 今天早上突然来了个兴致,决定去看 […]
托远房侄女小 P 的福,在老婆要求我减肥的呼声日益高涨之时, […]
好些时候,要学习从网上或者别的地方找的一些源代码,可是往往写 […]
今天据说很冷。由于这个原因,一天基本上没有出门,在家里窝着。 […]
前阵子在流水书账上提到过的,老汉买了一本斯蒂芬·金写的书,名 […]