qt怎样隐藏dos窗口

最近小弟做一个日历软件,想给它添加一些功能其实就是调用一些外置程序。

于是想到了system("calc")这样调用总是会出现烦人的DOS窗口,如图:

出现dos窗口,很是蛋疼,于是上网查找,得到的答案也是千变万化,试了都不行。

经过多次排查Qt编译器给出的错误提示,终于得到最正确的答案。

1.首先要包含

#include <windows.h>如图



2.其次是调用

ShellExecuteW(HWND,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,INT);
于是小弟就调用了它,像在VC里一样写下。
 
 
ShellExecute(NULL,"open","calc",NULL,NULL,0);
但是一直报错。 cannot convert 'const char*' to 'const WCHAR*' for argument '2' to 'HINSTANCE__* ShellExecuteW(HWND__*, const WCHAR*, const WCHAR*, const WCHAR*, const WCHAR*, INT)'
看到了错误小弟喜出望外,竟然不报这个函数未定义的错。那么接下来就好做了。
 
 
const wchar_t *str1=L"open";
const wchar_t *str2=L"C:/Christmas.exe";
ShellExecute(NULL,str1,str2,NULL,NULL,0);
在编译
Starting E:\QtPro\CallSystem-build-desktop-Qt_4_7_4_for_Desktop_-_MinGW_4_4__Qt_SDK__Debug\debug\CallSystem.exe...
E:\QtPro\CallSystem-build-desktop-Qt_4_7_4_for_Desktop_-_MinGW_4_4__Qt_SDK__Debug\debug\CallSystem.exe exited with code 0
 
 
OK,通过。运行结果如下:
烦人的dos窗口不见了。。。。。好开心啊。今天是圣诞节,
小弟特意调用了圣诞树。。。。。
祝愿大家圣诞快乐哦。吃饭去喽。。。。。。。。。。。。。。。。。。。。
 
 
转载请说明出处。。。。。。。。。。。
 
 
 
 
大家相互学习,互相提高。
 
 
 
 
 
 
 
 





猜你喜欢

转载自blog.csdn.net/lsyrhz/article/details/17552391