发现一个有意思的问题,无法创建进程...

bingying19872008 2012-11-16 02:20:14
system32目录下 有一个osk.exe 程序,是windows7自带的虚拟键盘,
如果我双击,会成功启动程序.
但是如果我写一个demo,点击按钮,调用
WinExec("osk.exe",SW_SHOW);
或则
CreateProcess(_T("C:\\Windows\\System32\\osk.exe"),NULL,NULL,NULL,FALSE,0,NULL,NULL,&si,&pi))
均无法启动成功,在vc环境下直接F5运行 会得到提示 屏幕键盘无法启动.
如果我直接到我的Debug目录下去双击我编译好的demo程序则完全无任何反映....

有人能帮忙给出答案么....
...全文
500 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
琅琊榜 2013-08-20
  • 打赏
  • 举报
回复
是不是参数的问题
zjh824 2013-08-16
  • 打赏
  • 举报
回复
exe,跨进程了,应该和这个没关系了。 如果这样的话,这个虚拟键盘就整得有点像LINUX的子进程了。
Eleven 2013-08-16
  • 打赏
  • 举报
回复
bingying19872008 2013-08-16
  • 打赏
  • 举报
回复
这个问题我还是自己来解决吧,要创建这个虚拟键盘的程序 需要在你的程序中先调用ComInitlialxxx函数.....因为那个虚拟键盘 使用了Com接口,如果你自己不调用,会导致,虚拟键盘的程序无法打开Com接口
wondersoft_zz 2013-08-15
  • 打赏
  • 举报
回复
我也遇到这个问题 望楼主可以不吝赐教
fenshucangku 2012-11-21
  • 打赏
  • 举报
回复
引用 2 楼 bingying19872008 的回复:
引用 1 楼 ouyh12345 的回复:权限的问题吗? 一开始我也怀疑权限问题,但是我用管理员身份运行也一样无法启动,而且没有提示,简单的说在调试器环境下会弹出无法启动屏幕键盘的提示,而在双击运行编译好的demo则没任何提示.代码很简单,就是点击按钮 执行 WinExec("osk.exe",SW_SHOW); 或则 CreateProcess(_T("C:\\……
你在你的程序上面,点右键,然后选用管理员运行,然后再点击按钮呢?
fenshucangku 2012-11-21
  • 打赏
  • 举报
回复
第一,我在win7下试了试,是可以执行起来的,当然了,我的win7的用户权限控制是关掉的,控制面板,用户账户,更改用户账户控制,改成从不通知 第二,你也可以是一下ShellExecute
w_xei 2012-11-21
  • 打赏
  • 举报
回复
需要使用兼容XP模式运行吧
孤客天涯 2012-11-21
  • 打赏
  • 举报
回复
你win7是64位的吗?是否是win7重定向函数引发的问题 ,试试Wow64RevertWow64FsRedirection
bingying19872008 2012-11-16
  • 打赏
  • 举报
回复
引用 1 楼 ouyh12345 的回复:
权限的问题吗?
一开始我也怀疑权限问题,但是我用管理员身份运行也一样无法启动,而且没有提示,简单的说在调试器环境下会弹出无法启动屏幕键盘的提示,而在双击运行编译好的demo则没任何提示.代码很简单,就是点击按钮 执行 WinExec("osk.exe",SW_SHOW); 或则 CreateProcess(_T("C:\\Windows\\System32\\osk.exe"),NULL,NULL,NULL,FALSE,0,NULL,NULL,&si,&pi))
ouyh12345 2012-11-16
  • 打赏
  • 举报
回复
权限的问题吗?

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧