社区
C++ 语言
帖子详情
怎样隐藏控制台程序的界面
千分散尽还复来
2010-04-04 12:46:12
各位高手:
我想用VC++控制台程序启动另一个程序打开一个文件,我想把它的界面隐藏起来,也不想让它出现在任务栏上,能实现吗?
谢谢!
另外,用下面语句
system("D:\\first.exe E:\\second.aaa");
用绝对路径没有任何问题,如果用相对路径,它只能启动与它同目录的程序,也就是说改成这样就不行了:
system(".\\thedir\\first.exe .\\thedir\\second.aaa");
怎么办?
谢谢!
...全文
533
14
打赏
收藏
怎样隐藏控制台程序的界面
各位高手: 我想用VC++控制台程序启动另一个程序打开一个文件,我想把它的界面隐藏起来,也不想让它出现在任务栏上,能实现吗? 谢谢! 另外,用下面语句 system("D:\\first.exe E:\\second.aaa"); 用绝对路径没有任何问题,如果用相对路径,它只能启动与它同目录的程序,也就是说改成这样就不行了: system(".\\thedir\\first.exe .\\thedir\\second.aaa"); 怎么办? 谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
飘零雁
2011-06-13
打赏
举报
回复
#pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" )
#include <Windows.h>
int main()
{
/*以下启动另一exe*/
SHELLEXECUTEINFO ShExecInfo;
ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);
ShExecInfo.fMask = NULL;
ShExecInfo.hwnd = NULL;
ShExecInfo.lpVerb = NULL;
ShExecInfo.lpFile = ("E:\\Work_Project\\ParaExe\\ParaExe\\bin\\Debug\\ParaExe.exe");
ShExecInfo.lpParameters = NULL;
ShExecInfo.lpDirectory = NULL;
ShExecInfo.nShow = SW_MAXIMIZE;
ShExecInfo.hInstApp = NULL;
ShellExecuteEx(&ShExecInfo);
/*以下检测插件安装情况*/
return 0;
}
wljince007
2010-04-05
打赏
举报
回复
给你一个我要自己程序中调用的代码
std::string exe_str 要执行的程序名,
std::string cmd_str 程序的参数
返回值: 0 执行正确
非0时执行异常,你可以按自己的风格加一些日志
int do_cmd(std::string exe_str, std::string cmd_str)
{
SHELLEXECUTEINFOA ShExecInfo = {0};
ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFOA);
ShExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS;
ShExecInfo.hwnd = NULL;
ShExecInfo.lpVerb = "open";
ShExecInfo.lpFile = exe_str.c_str();
ShExecInfo.lpParameters = cmd_str.c_str();
ShExecInfo.lpDirectory = NULL;
ShExecInfo.nShow = SW_HIDE;
ShExecInfo.hInstApp = NULL;
if( ShellExecuteExA(&ShExecInfo) != true )
{
return -1;
}
WaitForSingleObject(ShExecInfo.hProcess,INFINITE);
DWORD dwExitCode;
if( GetExitCodeProcess(ShExecInfo.hProcess, &dwExitCode) != true )
{
CloseHandle(ShExecInfo.hProcess);
return -1;
}
CloseHandle(ShExecInfo.hProcess);
if ( 0 == dwExitCode )
{ return 0; }
else
{ return = GetLastError(); }
}
希望对你有帮助,同意就给我加点分,谢谢。
lanneret1234
2010-04-05
打赏
举报
回复
获取它的句柄 然后隐藏
char strTitle[255];
GetConsoleTitle(strTitle, 255);
HWND hw=FindWindow("ConsoleWindowClass",strTitle);
ShowWindow(hw,SW_HIDE)
罗耗子
2010-04-05
打赏
举报
回复
ShellExecute(NULL,"open",程序名和路径,参数,NULL,SW_HIDE); //隐藏执行,不过进程表还能看到
千分散尽还复来
2010-04-05
打赏
举报
回复
论坛只允许连发三帖,这一帖对8、9、10楼一起说算了。
谢谢你们解答!
我还是笨菜鸟,你们给的方法我还没试过,试过后看看效果再说吧。
dream17953
2010-04-05
打赏
举报
回复
对于Windows界面相关的问题不是很懂
千分散尽还复来
2010-04-05
打赏
举报
回复
[Quote=引用 7 楼 forestdb 的回复:]
各位高手:
我想用VC++控制台程序启动另一个程序打开一个文件,我想把它的界面隐藏起来,也不想让它出现在任务栏上,能实现吗?
谢谢!
问题能再清楚点么?是控制台程序隐藏还是被启动的程序隐藏,被启动的程序是怎样的程序?
另外,用下面语句
system("D:\\first.exe E:\\second.aaa");
用绝对路径没有任何问题,如果用相对路径,它只能启动与它同目录的程……
在可执行文件的当前目录下有thedir文件夹么?thedir下有first.exe和second.aaa么?能描述下可执行文件,thedir,first.ext,second.aaa的树形关系么?
像这样:
.
| exe.exe
|
\---thedir
first.exe
second.aaa
或者在你的当前目录下执行下tree命令,会有什么样的结果?
[/Quote]
谢谢!
不好意思,我没把问题说清;
要隐藏的是控制台程序,要启动的程序是一个不需安装的播放器文件(first.exe),要用它打开一个媒体文(second.aaa)件,它们都在“thedir”目录里面,我想在这个目录外用一个控制台程序启动first.exe打开second.aaa,就这样。
另外,我的另一台机器上安装有VC++6和Delphi 7,Delphi 7是先安装的,我好久都没用了,我昨天晚上用Delphi 7做了一下,启动成功了;但在我只装有VS2005的机器上又不行了,全屏皆黑。我记得在启动Delphi 7的时候跳出个对话框,大意是系统的Debug被修改了,是否要恢复到用Delphi 7。我点了“是”。我想可能跟这个有点关系;我在论坛上还看到,说VC中牵涉到与路径相关的函数时,它往往会改变默认路径,还不知道是什么意思。
唉,也许是最初学Delphi的缘故,学VC++这么长时间了,我总觉得还没入门。
再次感谢指教。
ForestDB
2010-04-05
打赏
举报
回复
各位高手:
我想用VC++控制台程序启动另一个程序打开一个文件,我想把它的界面隐藏起来,也不想让它出现在任务栏上,能实现吗?
谢谢!
问题能再清楚点么?是控制台程序隐藏还是被启动的程序隐藏,被启动的程序是怎样的程序?
另外,用下面语句
system("D:\\first.exe E:\\second.aaa");
用绝对路径没有任何问题,如果用相对路径,它只能启动与它同目录的程序,也就是说改成这样就不行了:
system(".\\thedir\\first.exe .\\thedir\\second.aaa");
怎么办?
谢谢!
在可执行文件的当前目录下有thedir文件夹么?thedir下有first.exe和second.aaa么?能描述下可执行文件,thedir,first.ext,second.aaa的树形关系么?
像这样:
.
| exe.exe
|
\---thedir
first.exe
second.aaa
或者在你的当前目录下执行下tree命令,会有什么样的结果?
hzy694358
2010-04-04
打赏
举报
回复
ShowWindow(SW_HIDE)
控制台能用否??
千分散尽还复来
2010-04-04
打赏
举报
回复
[Quote=引用 3 楼 localxiao 的回复:]
http://hi.baidu.com/songguanjun/blog/item/eb3ae1cd0ef00a590eb34526.html
[/Quote]
反复试过了,怎么不起作用呢?
mstlq
2010-04-04
打赏
举报
回复
不想出现控制台,那就请直接建立win32(no控制台)工程……
路径?
请在msdn里面查“GetModuleFileName”
千分散尽还复来
2010-04-04
打赏
举报
回复
谢谢.
[Quote=引用 2 楼 kktemp234 的回复:]
相对路径可以用,但要确定这个程序运行的路径
[/Quote]
怎样确定路径?能详细点吗?
localxiao
2010-04-04
打赏
举报
回复
http://hi.baidu.com/songguanjun/blog/item/eb3ae1cd0ef00a590eb34526.html
最帅马老师
2010-04-04
打赏
举报
回复
楼主的思路无法实现,除非与要调用的程序有接口可以通信。
相对路径可以用,但要确定这个程序运行的路径
让command
控制台
程序
界面
也可以五颜六色的方法(C语言)
通过加入以下设置屏幕背景及文字颜色函数,可以使
控制台
程序
的
界面
按照
程序
设计者的意愿,变成你想要的颜色,使初学者在编制C语言时使可执行
程序
不仅仅局限于默认的黑色,给人以耳目一新的感觉。
程序
效果详见我的另...
VB轻松建立字符
界面
的
控制台
程序
同标准的Windows
程序
相比,
控制台
程序
具有
界面
简单、占内存少、生成的可执行文件小的优点 本文件将创建
控制台
程序
所需api 及输入输出函数封装起来 不需再写入大量代码 即可轻松创建各种字符
界面
的
控制台
程序
使用时...
Qt样式表、QSS、QT
界面
美化、Qt框架、Qt5、Qt编程
Qt是面向对象的框架、容易扩展,并且允许真正地组件编程,既可以开发GUI
程序
,也可用于
控制台
工具和服务器。其跨平台集成开发环境Qt Creator 全面支持Windows ,mac、Linux、iOS、Android、WP等。 Qt样式表(Qt  ...
简单
控制台
程序
设计
通过创建、编译、运行一个简单的C#
控制台
程序
,让学生学习掌握Visual Studio.Net 开发工具的基本用法,掌握C#
控制台
程序
的创建过程、编写
控制台
界面
的
程序
,掌握简单C#语言的基本语法和编程方法。
c语言
控制台
窗口
界面
编程_修正版
如何编写具有美观清晰 的
控制台
窗口
界面
的C++应用
程序
C++ 语言
64,647
社区成员
250,496
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章