home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tricks of the Windows Gam…ming Gurus (2nd Edition)
/
Disc2.iso
/
msdn_vcb
/
samples
/
vc98
/
sdk
/
winbase
/
ipc
/
ddeml
/
ddeprog
/
phtest.c
< prev
next >
Wrap
C/C++ Source or Header
|
1997-10-05
|
2KB
|
85 lines
/******************************************************************************\
* This is a part of the Microsoft Source Code Samples.
* Copyright (C) 1993-1997 Microsoft Corporation.
* All rights reserved.
* This source code is only intended as a supplement to
* Microsoft Development Tools and/or WinHelp documentation.
* See these sources for detailed information regarding the
* Microsoft samples programs.
\******************************************************************************/
#include <windows.h>
#include "phtest.h"
#include "proghelp.h"
LONG APIENTRY MainWndProc(HWND hwnd, UINT message, WPARAM wParam, LONG lParam);
DWORD GFlags;
DWORD type;
HANDLE hKey;
int WINAPI WinMain(
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
INT nCmdShow)
{
DialogBox(hInstance,
MAKEINTRESOURCE(DID_PHTEST),
NULL,
(DLGPROC)MainWndProc);
return(TRUE);
}
LONG APIENTRY MainWndProc(
HWND hwnd,
UINT message,
WPARAM wParam,
LONG lParam)
{
TCHAR szT[100];
switch (message) {
case WM_INITDIALOG:
if (!ConnectToProgman()) {
PostMessage(hwnd, WM_CLOSE, 0, 0);
return(0);
}
return(IDEF_EXECTEXT);
case WM_COMMAND:
switch (LOWORD(wParam)) {
case IDOK:
GetDlgItemText(hwnd, IDEF_EXECTEXT, szT, sizeof(szT));
if (!ProgmanExecuteString(szT)) {
MessageBeep(0);
}
}
break;
case WM_CLOSE:
ShowWindow(hwnd, SW_HIDE);
if (!DisconnectFromProgman()) {
/*
* Progman is not done yet - we need to wait around for the
* transactions to complete before closing down so just
* keep posting WM_CLOSE to ourselves to allow DDEML's DDE
* messages to finish.
*/
Sleep(100);
PostMessage(hwnd, WM_CLOSE, 0, 0);
return(0);
};
EndDialog(hwnd, 0);
break;
}
return(0);
}