表題の件ですが、サービスアプリを作成しておりメッセージを表示したいと思います。
通常のフォームアプリですと、「msgbox」でメッセージボックスを表示出来ますが、サービスアプリから同じコードを書いても何も表示されません。
「デスクトップとの対話をサービスに許可」をオンにすると、「msgbox」でメッセージを表示するタイミングで「サービスがメッセージ出そうとしてますが表示しますか?」という感じのダイアログが出て、「OK」を押すとようやくメッセージボックスが表示されます。
これでは「キャンセル」ボタンを押されるとプログラムが停止する等で実用性が無いので別の方法を探したところ、
MessageBox.Show("test", "caption", MessageBoxButtons.OKCancel, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.ServiceNotification)
で表示出来る、という方法を見つけました。
試したところ、ビルド時にエラーは出ませんが動作させてもメッセージボックスは表示されません。
「デスクトップとの対話をサービスに許可」をオン・オフどちらにしても表示されません。
6番目の「ServiceNotification」を「DefaultDesktopOnly」に変更しましたがやはり表示されません。
開発ツールは「Microsoft Visual Basic 2008」で動作環境は「windows7」の「Professional 64ビット」と「Enterprise 64ビット」です。この環境で動作確認後に32BitやWindows8でも動作させたいと考えております。
原因や対処法をご存知の方がおられましたら、ご教授頂けると非常に助かります。
お手数をお掛けいたしますが、よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
この回答への補足
検索したところ、C++と思われるコードは結構見つかりましたが、VBでのコードは見つけられませんでした。
Public Declare Function WTSSendMessage Lib "wtsapi32.dll" ( _
ByVal hServer As Long, _
ByVal SessionId As Long, _
ByVal pTitle As String, _
ByVal TitleLength As Long, _
ByVal pMessage As String, _
ByVal MessageLength As Long, _
ByVal Style As Long, _
ByVal timeout As Long, _
ByRef pResponse As Long, _
ByVal bWait As Long) As Long
上記を使用していろいろ試しましたが、表示されませんでした。
もうしばらく試してみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/04/21 13:46
- Windows 10 Hyper-VでWindows7を動かしたいけど、エラーになります。 2 2023/04/03 18:53
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
- Excel(エクセル) エクセルVBA マクロ処理中のポップアップメッセージについて 1 2023/08/04 21:34
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- その他(IT・Webサービス) PCを立ち上げ時いつも同じ画像が出ます(トラブル発生、終了) 2 2022/04/23 12:46
- LINE LINEのスマホ機種変更時の移行失敗の復旧 1 2022/06/20 14:52
- Yahoo!メール Yahooアカウントにログインできなくなって困っています。 2 2023/05/16 02:28
- アプリ Edgeを操作するアプリについて 4 2023/05/11 22:48
- その他(メールソフト・メールサービス) サンダーバードでメールが受信されない 10 2022/03/24 17:00
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA listBoxから
-
お世話になります access初心者...
-
QT グループボックスについて
-
今日スマホでネットをしていた...
-
メッセージボックスの再表示の方法
-
エクセルでマクロを実行中に「...
-
実行時エラー 438になった時の...
-
VBA シートのボタン名を変更し...
-
worksheetFunctionクラスのVloo...
-
ExcelVBA Range クラスの Page...
-
ADODB.Streamを使用してUTF-8を...
-
フォームの再読み込み
-
eclipseのデバッグ中に変数の値...
-
ユーザーフォームを表示中にシ...
-
ExcelVBAのユーザーフォームの...
-
ユーザーフォーム上に現在日時...
-
なぜこんな初歩的なVBAのIf文で...
-
Access VBA でデータペーストを...
-
テキストボックス(VBA)でEnter...
-
どうやってもFor文を抜けてしま...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA listBoxから
-
エクセルでマクロを実行中に「...
-
Excel VBA コンボボックスについて
-
AccessのMsgBox表示位置について
-
今日スマホでネットをしていた...
-
メッセージボックスの再表示の方法
-
リストボックスの全行表示
-
NEXUS 7で自炊したPDFが読めま...
-
Access メッセージボックスで文...
-
VB.net コンボボックス
-
Excel VBAでMsgboxの値を取得す...
-
VAB:メッセージボックスの色に...
-
Builder TMemo 最初の行から表示
-
写真のデータが表示されなくなった
-
エクセルでコンボボックス内に2...
-
画面上の文字が表示されない
-
サービスアプリからメッセージ...
-
worksheetFunctionクラスのVloo...
-
VBA シートのボタン名を変更し...
-
VBA(エクセル)で自動的にボタン...
おすすめ情報