none
VB.NET2005 IE選取文字傳入程式 RRS feed

  • 問題

  • 在IE上選取文字反藍之後,按右鍵開啟我新增的右鍵選單,

    希望將 在IE上選取文字,丟到TextBox上,

    前半段已經都做好了,

    IE上選取文字後,丟到vb程式,這邊我是用JavaScript做,

    var rng = external.menuArguments.document.selection.createRange();
    var str = new String(rng.text);

    .....

      var oShell = new ActiveXObject("Shell.Application");
      var commandtoRun = Exepath;
      //oShell.ShellExecute(commandtoRun, "\""+lnkURL+"\"" + " \"" + cookie+"\" \"" + mainURL + "\"","", "open", "1");
    oShell.ShellExecute(commandtoRun, "\""+str+"\"" ,"", "open", "1");

     

    不過不知道要如何在VB Form上接收 IE 選取的文字?

    謝謝大家...

     

    2010年6月22日 上午 08:32

解答

所有回覆

  • 看看這篇有沒有幫助:VB.NET/C# and JavaScript communication
    2010年6月22日 上午 09:14
  • 基於安全理由,現在你不能在 Script 內建立 Shell.Application ,你這隻程式要能跑應該是 2003 以前,早先版本可以在 Script 內建立 Shell.Application 。


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

    ^^"不過我是用vs2005,不知道為什麼可以跑!?

    我是從網路上找到在IE上,新增右鍵選單方式,

    類似 http://www.codeproject.com/KB/vbscript/SmartDownloadManager.aspx

    C#是用static void Main(string[] args) 接收 反藍文字(選取文字)

    ^^"不過VB不知道該如何用...Orz..

    2010年6月23日 上午 02:28
  • VB.NET可以為專案加入Module模組, 再於模組中加入Sub Main程序, 請參考:Methods
    • 已標示為解答 Chung9527 2010年6月23日 上午 09:34
    2010年6月23日 上午 02:48
  • tihs大,

    剛剛開一個新vb console project的話,有收到IE上的反藍文字。

    ^^"我比較笨一點,不知道該如何在vb windows project上,call 到module上的sub main

    已經新增了module,不過沒有反應。

    另外java那方式,我還在試...^^"還沒找到方法。

     

    2010年6月23日 上午 05:52
  • vb console project:

    這樣就有收到我在ie上反白的文字。

    Module Module1
        Sub Main(ByVal arg() As String)
            System.Console.WriteLine("Get the string")
            If arg.Length = 1 Then
                System.Console.WriteLine(arg(0))
                getstr = arg(0)
            End If
            If arg.Length = 2 Then
                System.Console.WriteLine(arg(0))
                System.Console.WriteLine(arg(1))
            End If
        End Sub
    End Module

    在vb windows project 新增了一個Module,

    似乎都沒執行到Module...

    2010年6月23日 上午 06:00
  • Create A System Tray Application In VB.Net

     

    http://www.codeproject.com/KB/vb/TrayApp_VB.aspx

    HOW TO:變更應用程式的啟始物件 (Visual Basic)

    http://msdn.microsoft.com/zh-tw/library/17k74w0c(VS.90).aspx

    • 已標示為解答 Chung9527 2010年6月23日 上午 09:08
    2010年6月23日 上午 06:18
  • 謝謝,解決這問題了。
    2010年6月23日 上午 09:08
  • ^^"不好意思,後來測試過,發現我的程式還有一些嚴重Bug,

    因為我是在IE上按右鍵選項,開啟我的程式(TCP Thread 還有UDP Thread),

    開啟的表單沒關掉的話,

    再做一次,在IE上按右鍵選項,開啟我的程式,

    會讓第二個開啟的表單當掉,

    另外請教,我該怎麼做防範這個問題呢?

    目前有兩個idea,不過不確定可不可行?

    1.開啟第二次我的程式時候,把第一個程式關掉。

    2.只會開一個程式,把IE上的選取文字,傳給這個程式。

       不過我因為用JavaScript方式,把選取的文字傳給新開啟的表單,

       不知道該怎麼把選取文字 傳給已存在的表單。

      var oShell = new ActiveXObject("Shell.Application");
      var commandtoRun = Exepath;
      //oShell.ShellExecute(commandtoRun, "\""+lnkURL+"\"" + " \"" + cookie+"\" \"" + mainURL + "\"","", "open", "1");
    oShell.ShellExecute(commandtoRun, "\""+str+"\"" ,"", "open", "1");

     

    2010年6月23日 上午 11:50
  • 你到底在寫 web form 還是 win form 程式?


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2010年6月23日 下午 02:39
  • 寫Win Form, 不過我要把 IE上選取的反白文字丟到win form上,

    所以參考了範例 http://www.codeproject.com/KB/vbscript/SmartDownloadManager.aspx

    用一個htm 把link丟給win form。

    2010年6月24日 上午 01:59