找回密码
 加入
搜索
查看: 2661|回复: 11

如何避免任务栏出现2个任务。

[复制链接]
发表于 2008-9-23 16:18:20 | 显示全部楼层 |阅读模式
运行一个au3脚本程序的时候,里面有msgbox,FileOpenDialog等函数,如果激活了。它将在任务栏显示出来一个“任务”。

请问如何避免?

[ 本帖最后由 k1727 于 2008-9-28 23:08 编辑 ]
发表于 2008-9-23 17:20:11 | 显示全部楼层
好象不能吧`~没研究过,。
发表于 2008-9-23 22:35:13 | 显示全部楼层
what's task?
 楼主| 发表于 2008-9-24 02:27:11 | 显示全部楼层
原帖由 sanhen 于 2008-9-23 22:35 发表
what's task?


首先谢谢居士的关注。
是这样的。当一个程序(当然是指用au3编写的程序)运行的时候,一般会在任务栏出现一个任务图标,如图一
“IESet”,这时候如果点击该程序界面的一个按钮(该按钮是调用FileOpenDialog函数的),将会在任务栏出现一个“任务”如图2。

请问居士如何避免出现这种情况呢?

本帖子中包含更多资源

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

×
 楼主| 发表于 2008-9-24 14:42:36 | 显示全部楼层
自己顶一下吧。
 楼主| 发表于 2008-9-25 08:42:57 | 显示全部楼层
请高手关注呀。
发表于 2008-9-25 09:25:33 | 显示全部楼层
实在要用,就用API吧。。。
帮助默认集有了GetOpenFileName,不过此函数只支持英文目录的。
需要中文支持请用GetOpenFileNameA,这个函数默认是没有的,要自己写。我懒得写了,将就用着吧。

个人建议:为了避免任务栏多出一个窗口而用API,感觉得不偿失;所花费的时间巨多,还是默认的FileOpenDialog来得快。


#include <GuiConstantsEx.au3>
#include <WinAPI.au3>

$hGUI = GUICreate("My GUI", 300, 200)
$btn_dialog=GUICtrlCreateButton("test",10,30,100,30)
GUISetState()

While 1
 Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
              ExitLoop
        Case $btn_dialog
              $aFile = _WinAPI_GetOpenFileName("My Open File Dialog", _
                        "Text File (*.txt;*.au3)", ".", @ScriptName, "", 1, _
                        BitOR($OFN_ALLOWMULTISELECT, $OFN_EXPLORER), 0, $hGui)
       If $aFile[0] = 0 Then
                    $sError = _WinAPI_CommDlgExtendedError()
                    MsgBox(0,0,"CommDlgExtendedError (" & @error & "): " & $sError)
                Else
                    For $x = 1 To $aFile[0]
                       MsgBox(0,0,$aFile[$x])
                    Next
             EndIf
    EndSwitch
 
WEnd

评分

参与人数 1金钱 +1 收起 理由
k1727 + 1 我很赞同

查看全部评分

发表于 2008-9-25 09:33:09 | 显示全部楼层
继续,MSGBOX不在任务栏出现的例子。


#NoTrayIcon
#include <GuiConstantsEx.au3>

$hGUI = GUICreate("My GUI", 300, 200)
$btn_dialog=GUICtrlCreateButton("test",10,30,100,30)
GUISetState()

While 1
        Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
              ExitLoop
                  Case $btn_dialog
                          DllCall("user32.dll","int","MessageBox","hwnd",$hGUI,"str", _
                      "这个对话框是不会在任务栏出现的啦。。。www.autoitx.com 居士制作" & @crlf, _ 
                      "str","测试例子","int",48)


    EndSwitch
        
WEnd

评分

参与人数 1金钱 +1 收起 理由
k1727 + 1 我很赞同

查看全部评分

发表于 2008-9-26 14:33:36 | 显示全部楼层
多出一个也没什么吧?

[ 本帖最后由 liongodmien 于 2008-9-26 14:34 编辑 ]
发表于 2008-9-27 10:57:51 | 显示全部楼层

加个进程分板语句有就闪人!

加个进程分板语句有就闪人!
 楼主| 发表于 2008-9-28 23:07:05 | 显示全部楼层
看来没有好的快捷方法了,只能等到版本升级.谢谢居士.
发表于 2011-8-19 16:31:14 | 显示全部楼层
有用啊。做个记号先。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-10-1 19:23 , Processed in 0.088908 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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