找回密码  加入

AUTOIT CN

搜索
查看: 188|回复: 9

[AU3基础] 怎样在开启控制台CUI编译的情况下,双击不打开CUI?

[复制链接]
发表于 2018-12-31 13:45:10 | 显示全部楼层 |阅读模式
本帖最后由 liuzhaoyzz 于 2019-1-2 14:03 编辑

      直接上代码,编译的时候开启了控制台CUI编译,通过consolewrite向控制台输出数据。现在我想双击这个编译后的exe程序显示GUI界面,但是GUI界面后台还有个CUI界面,能不能做到双击exe程序的时候CUI不要打开,只有一个GUI界面?我又想在命令行下运行这个exe,想在控制台下用"GUI-CUI共存.exe -V"展示某些信息。怎么办?请指教,谢谢!      我看到运行这个exe后后台有个conhost.exe进程,杀掉就没有CUI了,问题是能否双击的时候不让conhost.exe自动启动?有没有什么预编译参数之类的?

代码示例来自veket_linux,谢谢!http://www.autoitx.com/forum.php ... 957&fromuid=7668869

#AutoIt3Wrapper_Change2CUI=Y       编译为cui
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 623, 449, 192, 114)
$Label1 = GUICtrlCreateLabel("Label1", 48, 64, 204, 57)
$Button1 = GUICtrlCreateButton("Button1", 296, 80, 81, 33)

If $CmdLine[0] = 0 Then
        
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit

        EndSwitch
WEnd

Else
        If $CmdLine[1] = "-v" Then
                ConsoleWrite("版本 v0.0.1")
        Else
                ConsoleWrite("参数错误")
        EndIf
EndIf


发表于 2019-1-1 20:02:05 | 显示全部楼层
我真没理解你是啥意思?
发表于 2019-1-1 22:03:55 | 显示全部楼层
带#AutoIt3Wrapper_Change2CUI=y参数,然后直接创建gui,应该可以达到你想要的效果。
 楼主| 发表于 2019-1-2 14:06:37 | 显示全部楼层
    是这样子的,直接上图吧。

开启了“创建CUI控制台程序”的选项,编译成exe文件。

运行exe之后,后台既有CUI,又有GUI,看了下进程里面有个conhost.exe,我想双击的时候只有GUI,在命令行运行的时候只有CUI,是否能做到?


   

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?加入

x
 楼主| 发表于 2019-1-2 14:07:43 | 显示全部楼层
haijie1223 发表于 2019-1-1 22:03
带#AutoIt3Wrapper_Change2CUI=y参数,然后直接创建gui,应该可以达到你想要的效果。

     这样做之后双击exe有两个进程,一个是conhost.exe是CUI,一个是主程序进程是GUI的。   
发表于 2019-1-2 15:03:02 | 显示全部楼层
我做的命令行程序也有这个问题,感觉消不掉吧
发表于 2019-1-2 15:04:14 | 显示全部楼层
楼主可以尝试在gui出来时,让cui最小化,不知行不行。
发表于 2019-1-2 15:21:42 | 显示全部楼层
liuzhaoyzz 发表于 2019-1-2 14:06
是这样子的,直接上图吧。

开启了“创建CUI控制台程序”的选项,编译成exe文件。

可以做到吧,你咋弄出这样式的了?
 楼主| 发表于 2019-1-3 09:17:18 | 显示全部楼层
hnfeng 发表于 2019-1-2 15:04
楼主可以尝试在gui出来时,让cui最小化,不知行不行。

    最小化也不爽,就是想双击的时候不要后台那个CUI.   
 楼主| 发表于 2019-1-3 09:20:49 | 显示全部楼层
haijie1223 发表于 2019-1-2 15:21
可以做到吧,你咋弄出这样式的了?

    具体怎么做?请指点下。现在的情况是双击之后除了有GUI,后台还有CUI。而手工打开一个cmd窗口,在cmd窗口运行编译后的XXX.EXE -V没有GUI界面,是正确的。就是双击那个编译后的xxx.exe会有CUI和GUI同时出现,请问下怎么双击的时候去掉后台的CUI,只保留GUI?   
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|小黑屋|手机版|AUTOIT CN ( 鲁ICP备15028933号-3 )谷歌 百度

GMT+8, 2019-1-19 17:31 , Processed in 0.096069 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表