Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/138.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何用C+编写启动程序+;或Windows Vista的C# 如何在C++或C语言中编写程序,在Windows Vista上启动应用程序?_C#_C++_Windows Vista - Fatal编程技术网

如何用C+编写启动程序+;或Windows Vista的C# 如何在C++或C语言中编写程序,在Windows Vista上启动应用程序?

如何用C+编写启动程序+;或Windows Vista的C# 如何在C++或C语言中编写程序,在Windows Vista上启动应用程序?,c#,c++,windows-vista,C#,C++,Windows Vista,例如,启动Dreamweaver CS 4(“C:\Program Files\Adobe\Adobe Dreamweaver CS4\Dreamweaver.exe),并使用C中的BringWindowToTop函数将其置于顶部# Process.Start(“c:\whatever\somefile.exe”,); 在C/C++中应该这样做有很多方法 system("c:\whatever\somefile.exe"); ShellExecute(NULL,_T(""), _T("C:\

例如,启动Dreamweaver CS 4(“C:\Program Files\Adobe\Adobe Dreamweaver CS4\Dreamweaver.exe),并使用C中的BringWindowToTop函数将其置于顶部#

Process.Start(“c:\whatever\somefile.exe”,);

在C/C++中应该这样做有很多方法

system("c:\whatever\somefile.exe");
ShellExecute(NULL,_T(""), _T("C:\\windows\\notepad.exe"), _T(""), NULL, SW_SHOWMAXIMIZED);

应该根据需要启动程序。

使用函数。或者参见。

您将遇到的主要问题是找出哪个新窗口属于刚刚创建的进程。一个简单的解决方案是
EnumWindows()前后,然后提升新创建的顶层窗口。因为你的发射器可能有焦点,它可以将焦点放在新窗口上。

不C++或C,但是,使用,你可以启动程序,或者自动点击你的制作,或者把它放到DW4窗口上面,例如(未测试):

一旦脚本满足您的需要,就会有一个工具将其转换为exe()。
希望这能有所帮助:)

我认为下面应该是最简单的方法

system("c:\whatever\somefile.exe");
ShellExecute(NULL,_T(""), _T("C:\\windows\\notepad.exe"), _T(""), NULL, SW_SHOWMAXIMIZED);
您可以使用runas命令代替notepad.exe。

有关runas命令的更多详细信息,请参阅。

要启动程序,请使用:
进程。启动

要查找exe文件的路径,可以查看注册表

我建议您在注册表中手动搜索计算机中exe的实际路径,并通过这种方式尝试查看路径保存的位置

要将窗口置于前面,可以使用
setforegroundindow(int-hWnd)
以及
FindWindow(string-lpClassName,string-lpWindowName)
,如下所述:


希望有帮助。

简单的快捷方式有什么问题?可能重复-也许我不明白这个问题,但如果该程序只启动另一个程序,为什么不使用一行shell脚本呢?问题是Dreamweaver没有像Outlook和Visual Studio那样将自己置于其他一切之上,而是将自己置于首位ks在任务栏上,我必须点击那里才能回到Dreamweaver。好的,但是如何让它在上面?@Chris_45“好的,但是如何让它在上面?“girl进程通常在顶部。好吧,有进展了,但是这个脚本确实占据了窗口,如果我按下Visual Studio DW的快捷键,它仍然在前面,我希望当我按下这些键时,应用程序将自己放在前面?我不太明白你是使用autoit为VS设置了一个快捷键,还是使用autoit来启动DW和其他东西来启动VS?是的,autoit用于DW和其他东西用于VS,问题是我必须模仿DW,然后才能看到其他东西,当我最大化它时,它会停留在“英尺”位置,并有点“占据”屏幕?试着用
WinActivate(“Dreamweaver”)
替换
WinSetOnTop(“Dreamweaver”)
;但我认为您真正需要的是一些热键管理软件,如autohotkey[1]或类似的软件,将所有热键+操作放在一个地方,用于DW启动和聚焦。[1] 在Windows上,这是一种间接操作,它可能与常规进程启动的行为在一些细节上不匹配,例如环境、将窗口置于顶部等。Windows上的系统调用将首先找到cmd.exe并将命令发送给该命令。使用ShellExecute的工作方式更像是资源管理器。
ShellExecute(NULL,_T(""), _T("C:\\windows\\notepad.exe"), _T(""), NULL, SW_SHOWMAXIMIZED);