我已经试过一次了,可是编译的时候有很多错误,我大概列出,都是类似的错误
... ...
RTSetupDlg.obj : error LNK2001: unresolved external symbol _RT_TxMode@12
RTWnd.obj : error LNK2001: unresolved external symbol _RT_TxMode@12
RTWnd.obj : error LNK2001: unresolved external symbol _RT_Init@8
Thread.obj : error LNK2001: unresolved external symbol _MT_ReadMSG@12
Thread.obj : error LNK2001: unresolved external symbol _RT_ReadMSG_Tx@12
Thread.obj : error LNK2001: unresolved external symbol _RT_ReadMSG_Rx@12
TimeSetDlg.obj : error LNK2001: unresolved external symbol _M1553_SetResponseTimeout@12
TimeSetDlg.obj : error LNK2001: unresolved external symbol _M1553_AddTimeTag@12
Debug/SimuEquip.exe : fatal error LNK1120: 41 unresolved externals
Error executing link.exe.SimuEquip.exe - 56 error(s), 0 warning(s)
... ...
RTSetupDlg.obj : error LNK2001: unresolved external symbol _RT_TxMode@12
RTWnd.obj : error LNK2001: unresolved external symbol _RT_TxMode@12
RTWnd.obj : error LNK2001: unresolved external symbol _RT_Init@8
Thread.obj : error LNK2001: unresolved external symbol _MT_ReadMSG@12
Thread.obj : error LNK2001: unresolved external symbol _RT_ReadMSG_Tx@12
Thread.obj : error LNK2001: unresolved external symbol _RT_ReadMSG_Rx@12
TimeSetDlg.obj : error LNK2001: unresolved external symbol _M1553_SetResponseTimeout@12
TimeSetDlg.obj : error LNK2001: unresolved external symbol _M1553_AddTimeTag@12
Debug/SimuEquip.exe : fatal error LNK1120: 41 unresolved externals
Error executing link.exe.SimuEquip.exe - 56 error(s), 0 warning(s)
比如可以对它的窗口发送WM_COMMAND来实现模拟点击它的某项菜单
对它的窗口发送WM_BUTTONDOWN WM_KEYDOWN等消息来模拟在他上面进行鼠标键盘操作
CSimuEquipDlg SimuDlg;
if (SimuDlg.DoModal()==IDC_BTN_1553B)
{
CSingleDocTemplate *pDocTemplate;
pDocTemplate=new CSingleDocTemplate(
IDR_MAINFRAME,
RUNTIME_CLASS(CMF1553Doc),
RUNTIME_CLASS(CMainFrame),
RUNTIME_CLASS(CMF1553View));
AddDocTemplate(pDocTemplate);
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
if (!ProcessShellCommand(cmdInfo))
return FALSE;CSimuEquipDlg就是我的那个对话框的类。不知道我说明白了没有,主要我也不是很清楚,有点糊涂。
BOOL GoNotePad(char *path,BOOL bWait=TRUE)
{
char pathexe[MAX_PATH];
strcpy(pathexe,"notepad.exe ");
strcat(pathexe,path);//pathname="notepad.exe ",
STARTUPINFO sinfo;
PROCESS_INFORMATION pinfo;
memset (&sinfo,0,sizeof(STARTUPINFO));
sinfo.cb=sizeof(STARTUPINFO);
sinfo.dwFlags|=STARTF_USESHOWWINDOW;
sinfo.wShowWindow=SW_SHOWNORMAL;//SW_SHOW;// SW_SHOWDEFAULT;
//BOOL fsuccess=0;
BOOL fsuccess=CreateProcess(NULL,//lpApplicationName
pathexe, //lpCommanderLine
NULL, //lpProcessAttributes
NULL, //lpThreadAttributes
FALSE, //bInheritHandles
NORMAL_PRIORITY_CLASS,//dwCreationFlags
NULL, //lpEnvironment
NULL, //lpCurrentDirectory
&sinfo, //lpStartupInfo
&pinfo); //lpProcessInformation
// wait for NotePad finishes
if(fsuccess)
{
HANDLE hProcess=pinfo.hProcess;
CloseHandle(pinfo.hThread);// close thread at once
if (bWait)
{
if (WaitForSingleObject(hProcess,INFINITE)!=WAIT_FAILED)
{
DWORD dwExitCode;
GetExitCodeProcess(hProcess,&dwExitCode);
if (dwExitCode==STILL_ACTIVE) AfxMessageBox(IDS_NOTEPAD_ALIVE);
}
}
CloseHandle(pinfo.hProcess);
}
return(fsuccess);
}
strcat(pathexe,path);//pathname="notepad.exe ",
ShellExecute()
CreateProcess()