none
[VB2010] 暫停問題 RRS feed

  • 問題

  •  If ToolStripProgressBar1.Value = 20 And getc3 = 5950867 Then
          SetCursorPos(725, 340)
          Mouse_Event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
          Mouse_Event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
          Mouse_Event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
          Mouse_Event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
          SendKeys.Send(ToolStripComboBox1.Text)
           Threading.Thread.Sleep(1000)
          ToolStripProgressBar1.Value = ToolStripProgressBar1.Value + 5 ' =25
        ElseIf ToolStripProgressBar1.Value = 25 And getc3 = 5950867 Then
          SetCursorPos(725, 365)
          Mouse_Event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
          Mouse_Event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
          Mouse_Event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
          Mouse_Event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
          Mouse_Event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
          Mouse_Event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
          Threading.Thread.Sleep(1000)
          SendKeys.Send("XXX")
          ToolStripProgressBar1.Value = ToolStripProgressBar1.Value + 5 ' =30
        End If
    

    hi ,各位,

    以上的setcursorpos 的位置是一個textbox(網頁上的textbox,跟程式無關),3個setcursorpos代表了個text,

    而setcursorpos下面有sendkeys。而這個程式是寫在timer入面

    我想把"ComboBox1.Text"放在第一個textbox入面,"XXX"放在第2個textbox入面。

    但測試結果,它會把ToolStripComboBox1.Text和XXX都放在第一個textbox入面,所以我想請教各位有什麼方法可以解決這個問題。

     

    以下是測試結果:

    (1)把中間的Elseif 轉成 一個新的if

         結果:ToolStripComboBox1.Text跟XXX還是在第一個textbox上。

    (2)把第一個Threading.Thread.Sleep(1000)刪掉

         結果(1):ToolStripComboBox1.Text會不變,即ToolStripComboBox1.Text並沒有輸入到第一個textbox上,但XXX卻有輸入到第2個空格內

         結果(2):正常,附合要求:ToolStripComboBox1.Text會在第一個格內,xxx會在第2個格內。(假如第一格內沒任何東西。)

     

     

    2010年11月24日 下午 02:27

解答

  • 送 Tab 鍵也是一種方法。

    通常網頁的操控,會選擇用 WebBrowser Control 來處理,你可以搜尋既有討論看看這方面的內容。


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2010年11月24日 下午 04:09

所有回覆

  • 一般用熱鍵轉移 Focus 會比較保險。
    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2010年11月24日 下午 03:02
  • Focus 要怎樣用?

    可是那個是網頁上的textbox,要怎樣才能focus?

    2010年11月24日 下午 03:13
  • 送 Tab 鍵也是一種方法。

    通常網頁的操控,會選擇用 WebBrowser Control 來處理,你可以搜尋既有討論看看這方面的內容。


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2010年11月24日 下午 04:09
  • 嗯,我也覺得送tab鍵是一種好方法,但如果原本text裡面有東西,這個方法就用不著了。

    我試一下 WebBrowser Control

    2010年11月24日 下午 04:31
  • 補充發問:

    有一個timmer,正在運行,如果要暫停,可以用Threading .Thread .Sleep ()的方法,但是會連timmer都停掉,如何在timmer不停的情況下暫停一會?

    例如

     

    sub timmer
    if a = b then
    '(暫停一會)
    a=z
    end if

    if a =c then
    a=y
    end if
    end sub

    「暫停一會」除了用Threading .Thread .Sleep ()的方法外,還有沒有辦法?


    2011年4月11日 上午 11:09