• ベストアンサー

C#で他アプリをアクティブにする

C#で他アプリ(OutlookExpress)をアクティブにしたいのですが、タイトルバーではころころ変わってしまうのでInteraction.AppActivate("Outlook Express");では厳しく、どうやらウィンドウクラスを取得してやるしかなさそうなのですがこういうものがモジュール単位で書いてあるサイトなんてありますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • GOGOV
  • ベストアンサー率54% (12/22)
回答No.2

GetProcessesByName("msimn")でOutlookExpressのプロセスIDをとり。 WIN32 APIのSetForegroundWindow()で表示。 でいかがでしょう? 下記URLを参考にしてください

参考URL:
http://www.atmarkit.co.jp/fdotnet/dotnettips/151winshow/winshow.html
noname#46712
質問者

お礼

あれこれやっていたらなぜかできました。的確なアドバイスありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

Spy++を使って自分で調べる。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • c#で他のアプリをアクティブにする方法

    初心者の質問ですがよろしくお願いします。 現在作成中のアプリは他のアプリのフォームに文字を入力するものですが、 他のアプリに文字を入力する際、該当のアプリをアクティブにする必要があります、そこであるページを参考にして以下のコードによってアクティブにできる事がわかりました。 Interaction.AppActivate("Outlook Express"); (※今回の例ではアウトルックエクスプレスをアクティブにしている) しかし、いざ実行しようとしてみると 「名前Interactionは現在のコンテキスト内に存在しません」というエラーが出てしまいます。 Interaction.AppActivateの前に何か付け足さなくてはいけないのでしょうか? 初歩的な部分で間違ってる気がします。 「Activate;」も試してみましたが同じエラーが出てしまいます、 どなたか解決法を教えてくださいよろしくお願いします。

  • C#で前にアクティブだったウィンドウをアクティブ

    C#で自分がアクティブになる前にアクティブだったウィンドウをアクティブにする(自分は消えない)という機能が作りたいのですがうまくいきません。 今までは自分自身を消すことによって一つ前のアクティブだったウィンドウをメインにしていたのですが、何度も立ち上げることになってしまい消さずに残しておきたいと思うようになりました。 http://dobon.net/vb/dotnet/process/appactivate.html こちらで紹介されている Microsoft.VisualBasic.Interaction.AppActivate("メモ帳"); の機能を使えば”立ち上がっているメモ帳”には移動できるようなのですが、ひとつ前アクティブだったウィンドウに戻る方法はないでしょうか? たとえば、 IE→(マウス選択)自作ツール→(ウィンドウ切り替え機能オン)IEといった具合です。 私なりに調べまして https://msdn.microsoft.com/ja-jp/library/dyz95fhy%28v=vs.90%29.aspx こちらの記事を見る限りでは引数にIDを持ってくることもできるようなのですが、そのIDの取得が壁になっています。 特にMicrosoft.VisualBasic.Interaction.AppActivate("メモ帳");を使わないといけないわけではありませんので、何か良い方法がありましたらご連絡いただけると大変うれしいです。よろしくおねがいします。

  • タイトルバーのないアプリに二重起動防止機能を付けたい

    今、タイトルバーのないアプリを作っているのですが、このアプリのウインドウを別アプリから、APIのFindWindow関数で見つけたいのですが、タイトルがないのでクラス名でしか見つけれません。同じクラスのウインドウが他にもあった場合、区別が付かず困っています。 具体的に申しますと、作ったアプリに二重起動防止機能を付けたい(すでに起動されている場合はそのアプリのウインドウを元の大きさに戻してアクティブにする)のですが、そのアプリにはタイトルバーがなく、FindWindowでは見つけれない場合があります。 このような場合どうすればいいでしょうか? よろしくお願い致します。

  • VisualC++で他アプリ起動ボタン

    VisualC++のダイアログの中のボタンに、他アプリ(アウトルックエクスプレス)を起動するボタンを作りたいのですが、どのようにすればよろしいですか? 初心者なもので、できればソースの内容など、詳しく教えてください。

  • アプリがタイトルバーだけで起動する

    特定のアプリのウィンドウの初期状態が画像のようにタイトルバーのみになってしまいました。 下方向にドラッグして引き延ばせば問題なくアプリを使用できるのですが、いちいちその作業をするのは面倒ですし他のアプリのタイトルバーとかぶってしまうと起動したことに気づきにくいです。元に戻したいのですが、どうすればよいのでしょうか。

  • CドライブのOutlookExpressのホルダーを他のドライブに移動する方法教えてください

    これまでの質問を検索しましたが、適切なのが見当たらなかったので以下の質問を致します。 当方、Win95にてOutlookExpress(OE5)にてメールの送受信を行っていますが、これまでの送受信メールが多くOutlookExpressがインストールされているCドライブを圧迫してきています。他のドライブには十分な空き容量がある為、メールのホルダーだけを他のドライブに移動させたく考えています。 具体的にはCドライブの\Program Files\Outlook Express配下にあるDefault Userフォルダ(ここに受信トレイや送信済みアイテム等が全て格納されています)全てを他のドライブに移動させたいのです。Explorerで無理矢理移動してみましたがやはりCドライブに新しいフォルダーを作成してしまう様です。 OutlookExpressのプログラム全体を他のドライブに移動させることも可能性の一つとして考えますが、どなたか御教示のほどよろしくお願いします。

  • Windows8のメールアプリ

    今度OSをXPから8に乗り換えます。 メールは今までOutlook Expressを使ってきました。 8でのメールアプリとしては、メールやWindows Live Mailなどがあるようです。 今までのOutlook Expressに保存してある過去のメールを移行して、メールを使いたいと思っております。 お勧めのアプリを紹介してください。

  • Visual C++ 2008 Express Edition が使えなくなった。

    Visual C++ 2008 Express Editionを開いたら、「Visual C++ 2008 Express Edition 製品の登録」と出てきて使うことが出来ません。 「今すぐ登録」をクリックして、Windows Live ID は取得したのですが、登録キーの取得が出来ません。Windows Live IDでMicrosoftサイトにサインインしても、画面中程の読み込みが終わらなくて、何もできませんでした。どうしたらVisual C++ 2008 Express Editionが使えるようになるでしょうか?

  • 拡張子「.dbx」ファイルを開くアプリ?

    OSは「XPHEsp1」、 スキルレベルは、当サイトでどうにか質問できる程度です。 実は、受信トレイに未読メールがある「OE」を DVD/CD-ROM(D:)に移した後に、元に戻そうとしたのですが、 誤操作を重ねたために、 その「OE」は、現在、C:\WINDOWS\Outlook Express\Outlook Express にあります。 ですが、拡張子「.eml」が「.dbx」に変わっていて、 関連付けアプリの一覧から選んだアプリでは開けないので、 Webで検索したアプリにもトライしてみたのですが、 上手くいきません。 「.dbx」ファイルを開くことのできる 使い勝手のよいアプリがあれば 教えていただけないでしょうか。

  • Outlook Expressタイトルバーの表示 

    あるプロバイダのサイトから接続設定のボタンをあまり考えなしに押したらOutlookのタイトルバーにOutlook Express TELE2Internetと表示されるようになってしまいました。このプロバイダは全く使っていないのでタイトルバーから消したいのですがどうしたらよいですか?現在他のプロバイダを使っており、表示がそこでないのが気になるだけでメールの送受信等はまったく支障はないのですが。