如果引用或轉貼,麻煩註明出處與本網誌連結,否則視為侵權。

2012年1月31日

AutoIT怎樣開啟IE的Tab?

作者: Fred Wang (FW知識瑣記) 日期: 2012/1/31

終於在autoit的論壇網站中找到解答,原來還有Navigate2這個功能,但是在官方的Help中並沒有這個功能的說明

#include <IE.au3> Const $navOpenInNewTab = 0x0800 Dim $o_IE = _IECreate('http://www.google.com/') $o_IE.Navigate2('http://www.yahoo.com/', $navOpenInNewTab) $o_IE.Navigate2('http://www.autoitscript.com/', $navOpenInNewTab)




7 則留言:

  1. 版主您好,想請問您一個問題
    如果我想要將Autoit放在Startup folder裡開機後自動開啟某資料夾的.wav檔並透過Windows media player播放
    該怎麼寫呢??
    我找過soundplay無法執行,include改寫也不行
    請您幫忙了,謝謝!

    回覆刪除
    回覆
    1. 已經發佈一個網文回覆您這個問題http://fredwang.blogspot.com/2012/05/autoit.html
      如果還有任何問題,歡迎留言討論!

      刪除
  2. 版主,謝謝您的幫忙
    方法一:shellexecute可以用但要改一下
    方法二:run不行
    回覆我直接留在新貼文的地方喔^^

    回覆刪除
  3. 另外,我還有一個問題,
    我想要搬移/複製某一資料夾下的程式到我電腦的startup folder裡
    讓搬移過去的程式能夠在下次開機時執行
    我電腦的startup folder路徑是
    C:\users\oooo\appdata\roaming\microsoft\windows\start menu\programs
    使用filemove搭配AutoIt巨集@StartupCommonDir和@StartupDir都不行
    我也不希望直接貼startup folder路徑到filemove目的裡
    因為這樣寫就只能在我本機使用了
    我該怎麼做呢??
    麻煩你了
    感謝!

    回覆刪除
    回覆
    1. 基本上@StartupDir內容抓自Windows Registry中的HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders'的'Startup'
      或許您可以寫一支測試程式用MsgBox顯示@StartupDir然後用Regedit去找看看這個變數,是否相同,若再不行只好用RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders", "Startup")來讀這個變數的內容,要注意的是隨著Windows版本不同Registry路徑可能有差異,我的環境是Windows Vista

      刪除
    2. 版主,還是先謝謝,但我想用我第二個方法會更貼近我的運作需求
      而且一定會搬移到startup folder裡
      但程式會出現no baseline2訊息
      您知道問題出在哪裡嗎?
      謝謝!

      刪除
  4. 版主,我早上也有po另一個問題想請您幫忙,不曉得您有看到嗎??
    問題就是我想搬移/複製某資料夾的程式到我電腦的startup folder
    路徑是C:\users\oooo\appdata\roaming\microsoft\windows\start menu\programs\startup
    使用findmove搭配巨集@StartupCommonDir和@StartupDir位置不對
    換另一方法,因為我原有一autoit程式(baseline1.exe)會手動先放到startup folder裡
    所以以下是我參考網路上後改寫的程式碼
    filemove("C:\PCM7\baseline2.au3",@AutoItexe &"baseline2.au3")
    $init_string = "baseline1.exebaseline2"
    $exchange_string = "baseline2"
    $search = FileFindFirstFile($init_string)

    ;確認search是否成功
    If $search = -1 Then
    MsgBox(0, "Error", "no baseline2")
    Exit
    EndIf

    While 1
    $file = FileFindNextFile($search)
    If @error Then ExitLoop

    $new_name = StringReplace($file, $init_string , $exchange_string)
    FileMove($file, $new_name)
    WEnd
    FileClose($search)
    移動過去的程式要改回baseline2是因為假如跑第二次或無窮迴圈才可以繼續搬移
    但還是不行,會出現no baseline2
    我不曉得問題在哪
    要請您再幫忙了
    感謝!

    回覆刪除

歡迎提供意見, 謝謝 (註 : 留言經過版主審核通過才會發布)