DOBON.NETプログラミング道掲示板
(現在 過去ログ2 を表示中)
HOME
HELP
新規作成
新着記事
トピック表示
発言ランク
ファイル一覧
検索
過去ログ
[
最新記事及び返信フォームをトピックトップへ
]
[ トピック内全5記事(1-5 表示) ] <<
0
>>
■33513
/ inTopicNo.1)
VS2015,C#・・・別アプリ起動IEの表示ページのURL取得は?
▼
■
□投稿者/ 霧小次郎
一般人(1回)-(2016/11/17(Thu) 08:44:28)
環境/言語:[OS : その他 / 言語 : C# / .NET Framework : その他]
分類:[.NET]
【解決したい問題】
Win10、VS2015communityで開発している簡単なアプリですが、「別のアプリで既に起動させているIEの表示しているページのURL」を取得する方法が分からず困っています。エクセルVBAやVisualBasicでのやり方がネットで幾つかあるようですが、VS2015、C#では具体的にusingに何を含めればよいのか、どのようなコーディングにすれば良いのかわかりません。どなたかご教授いただけたらと思います。
【解決するために何をしたか】
ネットでいろいろ調べたのですが、よくわかりませんでした。
引用返信
削除キー/
編集
削除
■33519
/ inTopicNo.2)
Re[1]: VS2015,C#・・・別アプリ起動IEの表示ページのURL取得は?
▲
▼
■
□投稿者/ 魔界の仮面弁士
大御所(1054回)-(2016/11/18(Fri) 11:37:27)
■
No33513
に返信(霧小次郎さんの記事)
> 「別のアプリで既に起動させているIEの表示しているページのURL」を取得する方法
こんな感じで如何でしょう。
using System.Collections;
using System.Runtime.InteropServices;
public class Sample
{
static void Main()
{
Guid CLSID_ShellWindows = new Guid("{9BA05972-F6A8-11CF-A442-00A0C90A8F39}");
dynamic shellWindows = Activator.CreateInstance(Type.GetTypeFromCLSID(CLSID_ShellWindows));
var oEnum = (IEnumerator)shellWindows.GetEnumerator();
while (oEnum.MoveNext())
{
dynamic oIE = oEnum.Current;
Console.WriteLine($"HWND=0x{oIE.HWND:X8}");
Console.WriteLine(oIE.LocationURL);
Console.WriteLine($"({oIE.LocationName})");
Release(ref oIE);
}
Release(ref oEnum);
Release(ref shellWindows);
}
static void Release<T>(ref T o) where T : class
{
if(o != null && Marshal.IsComObject(o))
{
Marshal.ReleaseComObject(o);
}
o = null;
}
}
引用返信
削除キー/
編集
削除
■33528
/ inTopicNo.3)
Re[2]: VS2015,C#・・・別アプリ起動IEの表示ページのURL取得は?
▲
▼
■
□投稿者/ 霧小次郎
一般人(2回)-(2016/11/19(Sat) 08:08:05)
> var oEnum = (IEnumerator)shellWindows.GetEnumerator();
> while (oEnum.MoveNext())
> {
> dynamic oIE = oEnum.Current;
魔界の仮面弁士さん、ご教授ありがとうございます。COMやGUIDの何たるかも知りませんでしたので、良い勉強になり、ご教授いただいたコードの雰囲気も少し理解が進みました。実際に、そっくりをVS2015で実行したところ、URLがgetできました。ただ、複数のタブを開いていたり、タブの横順番を入れ替えたりしていると、一部分のタブのURLしか表示されないようです。引用させていただいたコードの意味がいまいち理解できていないのですが、この周辺に関係があるのでしょうか?逆に、複数のタブが開かれているとき、activeなタブのURLだけをgetするにはどのようなコーディング方法があるのでしょうか? よろしくお願いいたします。
引用返信
削除キー/
編集
削除
■33534
/ inTopicNo.4)
Re[3]: VS2015,C#・・・別アプリ起動IEの表示ページのURL取得は?
▲
▼
■
□投稿者/ 霧小次郎
一般人(3回)-(2016/12/10(Sat) 19:04:37)
■
No33528
に返信
これ以上のご教授はなさそうなので、別の方策を探そうと考えます。失礼致しました。
引用返信
削除キー/
編集
削除
■33535
/ inTopicNo.5)
【報告】この投稿はマルチポストです
▲
▼
■
□投稿者/ (報告)
大御所(261回)-(2016/12/12(Mon) 22:04:12)
この投稿はマルチポストです。もし元記事の投稿者にマルチポストの心当たりがない場合は、すぐに返信でお知らせください。
●マルチポストされている場所
https://social.msdn.microsoft.com/Forums/ja-JP/1dce3e4e-0886-4617-a357-20166c15bd8d/visualstudio2013-c-ie11url?forum=csharpgeneralja
----------
この掲示板ではマルチポストが禁止されています。詳しくは、「書き込みのルールについて」をお読みください。
●書き込みのルールについて
http://dobon.net/vb/bbs/index.html
引用返信
削除キー/
編集
削除
トピック内ページ移動 / <<
0
>>
このトピックに書きこむ
過去ログには書き込み不可
Mode/
通常管理
表示許可
Pass/
HOME
HELP
新規作成
新着記事
トピック表示
発言ランク
ファイル一覧
検索
過去ログ
-
Child Tree
-