阅读:1761回复:7
再vxd中如何调用win32的api createprocess?
再vxd中如何调用win32的api createprocess?
|
|
最新喜欢:![]() |
沙发#
发布于:2001-08-23 20:41
唉,帮忙帮到底吧。把我的类也给您吧。
class myapp : public VAppyTimeEvent { public: myapp(pcmd cmd); virtual VOID handler(PVOID ref, DWORD flags); }; ............. myapp::myapp(pcmd cmd):VAppyTimeEvent((PVOID)cmd,CAAFL_TIMEOUT,0) { } VOID myapp::handler(PVOID ref, DWORD flags) { .....//上面贴出的内容 } ................. cmd refData; refData.lpszFile="Myprogram.exe"; refData.lpszDir="d:\mydir"; refData.lpszParams="para.txt"; (new myapp((pcmd)&refData))->schedule(); 以前的程序是更复杂的引用,会影响您的思路。这些是现在临时写的,不知有没问题,您推敲一下吧。祝您顺利。 |
|
板凳#
发布于:2001-08-23 08:44
oneq你好!
谢谢你的代码,帮了我很大的忙。我还有一个问题,那就是 p=(pcmd)ref; 中的ref如何赋值呢? 谢谢! |
|
地板#
发布于:2001-08-22 18:09
这是我的一个程序中的代码片段
typedef struct tagcmd{ char lpszDir[48]; /* address of string for default directory */ char lpszParams[18]; /* address of string for executable-file parameters */ char lpszFile[48]; /* address of string for filename */ }cmd,*pcmd; pcmd p; DWORD dd; struct{ WORD fsShowCmd; DWORD lpszDir; /* address of string for default Directory */ DWORD lpszParams; /* address of string for executable-file parameters */ DWORD lpszFile; /* address of string for filename */ DWORD lpszOp; /* address of string for operation to perform */ DWORD hwnd; /* handle of parent window */ }exec; PVOID la; p=(pcmd)ref; exec.lpszOp=LocalAlloc(LMEM_STRING,0,la,"OPEN"); exec.lpszFile=LocalAlloc(LMEM_STRING,0,la,p->lpszFile); exec.lpszParams=LocalAlloc(LMEM_STRING,0,la,p->lpszParams); exec.lpszDir=LocalAlloc(LMEM_STRING,0,la,p->lpszDir); exec.fsShowCmd=1; exec.hwnd=NULL; CallDLL("SHELL","SHELLEXECUTE",sizeof(exec),&exec); LocalFree(exec.lpszOp); LocalFree(exec.lpszFile); LocalFree(exec.lpszParams); LocalFree(exec.lpszDir); 应该对你有所帮助。 |
|
地下室#
发布于:2001-08-22 14:42
可是,我用ShellExecute以后,出现链接错误LNK2001(1120)错误!
如何才能正确使用呢? |
|
5楼#
发布于:2001-08-21 11:47
在VxD中能调用16位的API,恐怕不能调用32位的api,另求它法吧.如果仅是执行程序,可调用Shellexecute.
|
|
6楼#
发布于:2001-08-21 09:30
[QUOTE]原本由 wentao 发表
[B]可以通过调用上层的Windows核心动态连接库来实现。 [/B][/QUOTE] 具体的写法呢?可否再指点一二?! 谢谢! |
|
7楼#
发布于:2001-08-20 19:12
可以通过调用上层的Windows核心动态连接库来实现。
|
|
|