0

問題

Internet Explorer で URL を開こうとしています。通常、私は Internet Explorer com オブジェクトの Navigate メソッドを使用します。ただし、それは私が使用しているプログラミング言語 (MapBasic) では利用できません。

私の次の方法は、Shell 関数を使用して、コマンド ラインでコマンドを実行することです。例えば:

explorer "http://yahoo.com"

http://www.yahoo.comに移動します。ただし、より長いリンクになると、たとえば

https://www.google.co.uk/imgres?imgurl=http%3A%2F%2Fclv.h-cdn.co%2Fassets%2F15%2F22%2F768x518%2Fgallery-1432664914-strawberry-facts1.jpg&imgrefurl=http%3A%2F%2Fwww.countryliving.com%2Ffood-drinks%2Fa35552%2Ffacts-about-strawberries%2F&docid=kWdFoElV3zVDpM&tbnid=2gR8XfYaBJZV1M%3A&vet=1&w=768&h=518&hl=en&bih=813&biw=1461&q=strawberries&ved=0ahUKEwiV--LfsPbQAhWaHsAKHUfaC2EQMwg0KAMwAw&iact=mrc&uact=8

コマンドプロンプトは実際に次の場所に移動します:

https://www.google.co.uk/imgres?imgurl=http%3A%2F%2Fclv.h-cdn.co%2Fassets%2F15%2F22%2F768x518%2Fgallery-1432664914-strawberry-facts1.jpg&imgrefurl=http%3A%2F%2Fwww.countryliving.com%2Ffood-drinks%2Fa35552%2Ffacts-about-strawberries%2F&docid=kWdFoElV3zVDpM&tbn

これは非常に短い URL です。

この問題を解決するために、Win32API の使用を検討していますが、このコードを Win32API で実行する方法を一生理解できません。おそらく、Shell32.dll の ShellExecute を使用しますか? それとも、Kernel32.dll の CreateProcess を使用したほうがよいのでしょうか?

どちらを使用しても、VB/C# で Win32 API を使用して IE で上記のリンクを開く方法のサンプル コードを誰かが提供してくれれば、本当に助かります。そこからコードを MapBasic に簡単に移植できます。

(代わりに、シェルからリンクを開く方法があれば、その方法を知りたいです!)

ありがとう

4

2 に答える 2

0

System.Diagnostics 名前空間の下にある Process.Start を使用して「実行」できます。

于 2016-12-15T14:50:51.003 に答える