情况如下:
我在一个DLL里写了个SETHOOK函数, 函数里面调用了CreatdProcess函数.然后调用这个DLL时,出错.
DLL里的函数如下:
void SetHook()
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory( &si, sizeof(si) );
si.cb = sizeof(si);
si.dwFlags |= STARTF_USESHOWWINDOW;
si.wShowWindow = SW_SHOWMAXIMIZED;
ZeroMemory( &pi, sizeof( pi ) );
if( !CreateProcess( NULL, // No module name (use command line).
"c://windows/notepad.exe", // Command line.
NULL, // Process handle not inheritable.
NULL, // Thread handle not inheritable.
FALSE, // Set handle inheritance to FALSE.
0, // No creation flags.
NULL, // Use parent's environment block.
NULL, // Use parent's starting directory.
&si, // Pointer to STARTUPINFO structure.
&pi ) // Pointer to PROCESS_INFORMATION structure.
)
{
AfxMessageBox( "CreateProcess failed." );
}
::SetWindowsHookEx(WH_KEYBOARD,&nuoya1keyboardproc,::GetModuleHandle("123.dll"),pi.dwThreadId);
}
在MFC中调用如下:void CTest123Dlg::OnBNTRunFile()
{
SetHook();
}
test123Dlg.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) void __cdecl SetHook(void)" (__imp_?SetHook@@YAXXZ)
请教各位,如何解决这问题,诚心感谢
我在一个DLL里写了个SETHOOK函数, 函数里面调用了CreatdProcess函数.然后调用这个DLL时,出错.
DLL里的函数如下:
void SetHook()
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory( &si, sizeof(si) );
si.cb = sizeof(si);
si.dwFlags |= STARTF_USESHOWWINDOW;
si.wShowWindow = SW_SHOWMAXIMIZED;
ZeroMemory( &pi, sizeof( pi ) );
if( !CreateProcess( NULL, // No module name (use command line).
"c://windows/notepad.exe", // Command line.
NULL, // Process handle not inheritable.
NULL, // Thread handle not inheritable.
FALSE, // Set handle inheritance to FALSE.
0, // No creation flags.
NULL, // Use parent's environment block.
NULL, // Use parent's starting directory.
&si, // Pointer to STARTUPINFO structure.
&pi ) // Pointer to PROCESS_INFORMATION structure.
)
{
AfxMessageBox( "CreateProcess failed." );
}
::SetWindowsHookEx(WH_KEYBOARD,&nuoya1keyboardproc,::GetModuleHandle("123.dll"),pi.dwThreadId);
}
在MFC中调用如下:void CTest123Dlg::OnBNTRunFile()
{
SetHook();
}
test123Dlg.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) void __cdecl SetHook(void)" (__imp_?SetHook@@YAXXZ)
请教各位,如何解决这问题,诚心感谢
解决方案 »
- 使用了OPENCV,MFC无法显示新打开的窗口
- 单文档下的对话框打印预览
- 请教几个VC编程的事件触发问题
- http://xjsoft.blogcn.com
- 怎么在托盘图标上点右键出来一个菜单
- 请问editbox显示内容大小的限制问题(< 30k bytes)
- 我有一段程序是显示一个窗口的,但我不知道怎么样才能在窗口里显示一行字啊,谁能帮我?
- 如何把用GDI+ PixelFormat32bppRGB转换为PixelFormat8bppIndexed
- 坐标系的问题
- 如何设置多列的CListBox对象的列数?另外查询的索引不大明白,望指教!
- mfc中基于VC编程复制文件夹怎么计算最后的平均拷贝速度?
- 关于MFC组合框中排序问题
#define MYLIBAPI extern "C" __declspec(dllexport);
MYLIBAPI void WINAPI TestCallBack(PFCALLBACK Func) ;