<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      用VB完成程序之間的容易通信

      [摘要]文/崔彥鋒  本人非常喜歡編程,對網絡編程最感興趣,所以就想編個程序到BBS上發帖子,達到提高經驗值的目的。今天把它寫出來,和大家一起分享! 』局R  剪貼板在Windows中是一個好東東,在V...
      文/崔彥鋒

        本人非常喜歡編程,對網絡編程最感興趣,所以就想編個程序到BBS上發帖子,達到提高經驗值的目的。今天把它寫出來,和大家一起分享。

        基本知識

        剪貼板在Windows中是一個好東東,在VB的編程中同樣有用。在VB中,它其實就是Cli  
      pBoard對象,專門用于處理剪貼板上的文本和圖像。使用之前最好先用Clear方法清除以前的內容。

        發送文本還可以利用的就是SendKeys方法。把你要發送的文本放入一個變量,比如MyStr中,然后使用“SendKeys MyStr”語句就可以了。但是SendKeys的功能并不只限于這樣,它最大的作用是發送一個或多個擊鍵動作到其他程序中,想要發送哪個鍵值,只要使用以下語句即可:

        SendKeys "該鍵在鍵盤注明的名稱"

        這就為我們利用其他程序中的快捷鍵提供了可能,進而我們就可以在自己的程序中控制其他程序的動作。如果我們想發送Ctrl+V這個粘貼的指令,就可以用以下語句:

        SendKeys "^c"

        其中Ctrl用“^”來代替。類似的組合鍵還有Shift和Alt,分別用“+”和“%”(后面的例子中會用到Shift)。但是在用ClipBoard對象或SendKeys方法之前,還必須先用AppActivate語句激活需要通信程序的窗口。它的用法是:

        AppActivate +“所要激活應用程序窗口標題”

        比如一個記事本,正在編輯的文件名為my.txt,用以下語句來激活它要保持自己的程序:

        AppActivate "my.txt - 記事本" 。

        通信中還必須注意的問題就是和被調用程序運行之間的步調一致,也就是所謂的同步控制。那就要用到DoEvents函數,它的作用是轉讓控制權,以便操作系統處理事件。只要有意識地在程序中需要的地方加入DoEvents就可以了。在有多次的循環語句中,相信大家都使用過這個語句。與DoEvents相配合的還有就是一個API函數Sleep(),必須先聲明:

        Public Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long)

        具體的Sleep時間需要自己去實踐。

        代碼實現

        要用到的基本知識已經講完了,下面讓我們來看看編寫“灌水機”的部分關鍵代碼:(其中DoEvents語句用漢字“返”代替,Sleep()函數用“等”漢字代替)

        Private Sub CmdBegin_Click()

        On Error GoTo 0

        '為字符串變量title和txtfromfile賦值的語句省略了,最好和文本文件結合使用。

        Clipboard.Clear

        Clipboard.SetText title

        AppActivate ("虎踞龍盤") '我用Cterm上的虎踞龍盤東南站,窗口標題為“虎踞龍盤”

        等,返,等 '即依次執行語句DoEvents Sleep (100) DoEvents,下同

        SendKeys ("^p") 'Cterm程序中發文用的快捷鍵

        返 SendKeys "+{insert}" 'Cterm程序中粘貼文本的快捷鍵

        返,等,返 SendKeys "{enter}" '發文必須用的回車動作

        返SendKeys "{enter}" 返,等,返

        '以上語句就實現了向Cterm程序發送文章的標題

        Clipboard.Clear

        Clipboard.SetText txtfromfile

        返,等,返

        SendKeys "+{insert}" 返

        SendKeys "^w" 'Cterm中的發文動作

        返 SendKeys "^w" 返

        SendKeys "{enter}" '一篇文章已經發送完畢,在以后的語句中進入下一個循環

        End Sub

        以上就是一個BBS發文程序的關鍵部分:與Cterm程序反復的進行通信,并進行同步的控制。它進行反復的循環,就會一篇篇地把本地機器上的文本傳到BBS上(其實是僅僅傳給了Cterm),這樣利用程序間的通信,就避免了進行網絡編程。


      日韩精品一区二区三区高清