inline ULONG RegisterClipboardFormat(PCSZ pcszFormat) { ATOM atom = WinFindAtom(WinQuerySystemAtomTable(), pcszFormat); if (!atom) { atom = WinAddAtom(WinQuerySystemAtomTable(), pcszFormat); } return atom; }
main(int argc, char *argv[], char *envp[]) { HAB hab; HMQ hmq; QMSG qmsg; char szBuf[MAX_BUF]; ATOM atom; hab = WinInitialize( 0 ); hmq = WinCreateMsgQueue( hab, 0 ); atom = WinAddAtom(WinQuerySystemAtomTable(), CLASS_NAME); if(Initialize(0, argv[0])) { WinPostQueueMsg(0, WM_QUIT, 1, 0); } else if(!InitApplication(0)) { char szEFailed[MAX_BUF]; if(NS_LoadString(0, IDS_ERROR_FAILED, szEFailed, MAX_BUF) == WIZ_OK) { sprintf(szBuf, szEFailed, "InitApplication()."); PrintError(szBuf, ERROR_CODE_SHOW); } WinPostQueueMsg(0, WM_QUIT, 1, 0); } else if(ParseUninstallIni(argc, argv)) { WinPostQueueMsg(0, WM_QUIT, 1, 0); } else if(ugUninstall.bUninstallFiles == TRUE) { if(diUninstall.bShowDialog == TRUE) hDlgUninstall = InstantiateDialog(hWndMain, DLG_UNINSTALL, diUninstall.szTitle, DlgProcUninstall); else ParseAllUninstallLogs(); } if((ugUninstall.bUninstallFiles == TRUE) && (diUninstall.bShowDialog == TRUE)) { while ( WinGetMsg( hab, &qmsg, NULLHANDLE, 0, 0 ) ) WinDispatchMsg( hab, &qmsg ); } /* Do clean up before exiting from the application */ DeInitialize(); WinDeleteAtom(WinQuerySystemAtomTable(), atom); WinDestroyMsgQueue( hmq ); WinTerminate( hab ); }
nsresult nsAppShell::Init() { // a message queue is required to create a window but // it is not necessarily created yet if (WinQueryQueueInfo(HMQ_CURRENT, NULL, 0) == FALSE) { // Set our app to be a PM app before attempting Win calls PPIB ppib; PTIB ptib; DosGetInfoBlocks(&ptib, &ppib); ppib->pib_ultype = 3; HAB hab = WinInitialize(0); WinCreateMsgQueue(hab, 0); } if (!sMsgId) { sMsgId = WinAddAtom( WinQuerySystemAtomTable(), "nsAppShell:EventID"); WinRegisterClass((HAB)0, "nsAppShell:EventWindowClass", EventWindowProc, NULL, 0); } mEventWnd = ::WinCreateWindow(HWND_DESKTOP, "nsAppShell:EventWindowClass", "nsAppShell:EventWindow", 0, 0, 0, 10, 10, HWND_DESKTOP, HWND_BOTTOM, 0, 0, 0); NS_ENSURE_STATE(mEventWnd); return nsBaseAppShell::Init(); }
BOOL EXPENTRY PGPDLLInit(HWND hwnd) { hwndPGPClient = hwnd; /* save client hwnd so we can post msgs to it */ if (!Hooked) { /* create unique message ids (can't use WM_USER in hooks) */ hAtomTblSystem = WinQuerySystemAtomTable(); srand((UINT)hwnd); sprintf(Global.szFloatToTop,"PGPToolsFloatToTop%d",rand()); Global.wmu_FloatToTop = WinAddAtom(hAtomTblSystem, Global.szFloatToTop); if(DosQueryModuleHandle("pgptools", &hRessourceModule)) return FALSE; hab = WinQueryAnchorBlock(hwnd); WinSetHook(hab, hmqType, HK_SENDMSG, (PFN)PGPHookSendMsg, hRessourceModule); Hooked = TRUE; } return TRUE; }