下記のとおり同じ内容のものを見つけたのですが、結局どうしたらいいかわからないので
質問です。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.ph …

やりたいことは、
VBにて、WebBrowserコントロールを使用しサイト表示させたものを作り
それ(exe)をデスクトップ上に常駐させておく というものを作成目的としています。
要するにWindows7においてのActiveDesktop機能の実現です。
(Combooなどフリーソフトも試してますが、適切なものが見つかってません。)

そこで1つ問題があり、
デスクトップにあります「デスクトップの表示」で、全体が最小化されますが
作ったプログラムだけは最小化されず残したままの状態にする方法がわかりません。

プログラムやツール等どの方法でもかまいませんので、ご存じの方が
いらっしゃいましたら教えていただければと思っています。

ちなみに「Layout」イベントではイベントが走りません。

よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

理屈はよくわからないんですけど、


MinimizeBox = False
TopMost = True
にすると「デスクトップの表示」でも最小化されずに残りました。( Windows7 で )
が、やはり、TopMost = True はよろしくないんでしょうね・・・。

あと、Layout イベントについてですが、こちらの環境 ( Windows7 + VB 2008 ) では
MinimizeBox = False
だと Layout イベントに飛んできませんでしたが、
MinimizeBox = True
にすると Layout イベントに飛んできました。
( かといって、どうにかなりそうな感じでもなさげですが・・・)
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q無料壁紙のサイトから素敵な海の写真を見つけ、デスクトップの背景に設定し

無料壁紙のサイトから素敵な海の写真を見つけ、デスクトップの背景に設定しました。
あまりにきれいなので、後日ブログの背景にも使いたいと思ってさがしたのですがどうしてもたどり着くことができません。
今デスクトップの背景になっている写真をフォトギャラリーに入れることはできますか?
パソコン初心者ですのでわかりやすく教えていただきたいのですが・・・
どうぞよろしくお願いいたします!!

Aベストアンサー

著作権はクリアされているとして、背景に設定した画像はそのままコピーしてフォトギャラリーに入れることは可能です。

マイピクチャフォルダの中の画像を右クリックから「背景に設定」とした場合
C:\Users\<ユーザー名>\AppData\Roaming\Microsoft\Windows Photo Viewer
に「Windows フォト ビューアー壁紙」という名称で保存されます。

Web上の画像をIEで右クリックから「背景に設定」とした場合
C:\Users\<ユーザー名>i\AppData\Roaming\Microsoft\Internet Explorer
に「Internet Explorer Wallpaper」という名前で保存されます。

QVBでデスクトップ上のアイコン座標を取得することはできますか?

Windows98上でVB6(SP4)を使っています。
デスクトップに散らばっているフォルダやショートカットの座標を取得したいです。
そもそもVBでアイコンの座標を取得する事ができるのでしょうか?
また、そのアイコンを動かしたいのです。

MSDN等で調べてみたのですが、期待しているドキュメントがひっかかりません。
GetIconInfo等が使えそうかな・・・と思ったのですが、「ここ見ろ」でも結構なので教えてください。よろしくお願いします。

Aベストアンサー

デスクトップの実体はリストビュー(SysListView32)なので、ウインドウハンドル
を取得して、LVM_* メッセージを投げればいいと思います。
詳しくはgoogle で"Desktop SendMessage"を検索して下さい。

Q「デスクトップの表示」ショートカットを作りたい

Windows XP home を使っています。
「デスクトップの表示」というショートカットの
作り方がわからないでいます。

「デスクトップの表示」とはデスクトップ画面
そのものの表示のことです。
 Windows2000ではタスクバーに置いて使って
います。

Windows XP home の「ショートカットの作成」では
「デスクトップに置いてあるファイル等の一覧」の
ショートカットは作れたのですが、
「デスクトップ画面」そのもののショートカットの
作り方がわかりません。

よろしくお願いします。

Aベストアンサー

タスクバーを右クリック。
「ツールバー」>「クイック起動」にチェックを入れる。
これでタスクバーに「クイック起動」が表示され、
その中に「デスクトップの表示」があると思いますが…

こういう事ではなかったら、ごめんなさい。

QVB.NETでボタンクリックイベントの後に来るPage_Loadのようなイベントはありますか?

タイトルのとおりなのですが、
VB.NETでボタンクリックイベントの後に来るPage_Loadのようなイベントはありますか?
教えてくださいーー

Aベストアンサー

お世話になります。

ボタンを押そうが何をしようが、
PostBack するたびに、Page_Load は走りますよ。
そこで判断をしたいのであれば、
Page.Load イベント内で以下の様に記述してやれば
よいかもしれません。

If IsPostBack Then
  ' 初めてページを読み込んだ時処理
Else
  ' そうでない時処理
  If Not Request("ボタンの name") Is Nothing Then
    ' ボタン押下により発生した PostBack
  End If
End If

参考URL:http://msdn2.microsoft.com/ja-JP/library/system.web.ui.page.ispostback.aspx

Qデスクトップのアイコンがなくなった

いつもクイック起動にデスクトップのアイコンがあってたくさんファイルを開けててもデスクトップのアイコンをクリックするとすぐにデスクトップの画面に戻っていたのですが、
この前、デスクトップのアイコンが邪魔だったのでゴミ箱に入れてしまいました。それからというものデスクトップのアイコンが見つかりません。ファイルの検索をして「デスクトップ」って入れても出てきません。デスクトップのアイコンを出すにはどのようにすればいいのでしょうか?
宜しくお願いします。

Aベストアンサー

こちらのFAQが参考になるかも。

できるネット - [クイック起動]にあった[デスクトップの表示]アイコンが消えてしまったが、どうすれば元に戻せるか
http://dekiru.impress.co.jp/faq/win/win001.htm
秘密結社 - 006 クイック起動の「デスクトップの表示」アイコンを削除してしまった場合の復帰方法
http://www.efix.co.jp/sc/himitu/006.htm


> ファイルの検索をして「デスクトップ」って入れても出てきません。

あれ?
サブフォルダを探すのチェックが無かったから失敗…とかなら良いのですが。

参考URL:http://dekiru.impress.co.jp/faq/win/win001.htm, http://www.efix.co.jp/sc/himitu/006.htm

QVBでデスクトップアクセサリを作りたい

VB6を始めたばかりの超初心者です。すごいくだらない質問かもしれませんが、教えて下さい(^^;)
デスクトップアクセサリを作りたいのですが、VBで作れますか?
具体的には、例えばりんごの絵を表示したい時に、実行するとりんごの絵の部分だけ表示されて、余白の部分は表示されない(余白の部分はデスクトップの壁紙が見える)というような物を作りたい時にどうすれば良いか教えて下さい!ほんと初心者の質問ですみませんm(__;)mお願いします!
それから、VBでデスクトップアクセサリを作る時に参考にするのに、何か良いHPがあれば教えて下さい。お願いします。

Aベストアンサー

田吾作7です。

とりあえず、ぼくもいろいろやってみました。いやー勉強になりました。
いちばん簡単だと思った方法をとりあえずアップしておきます。

以下のソースをフォームに貼り付けてください。
Formのプロパティで、
BorderLine=なし
ScaleMode=ピクセル
に設定してください。

ドラッグできるようにしてますが、ドラッグルーチンをはずしたら、ドラッグ付加になります。ついでにShowInTaskbar=Falseにしてやれば、デスクトップに書いたようになりませんか?


Option Explicit
Private Type POINTAPI
X As Long
Y As Long
End Type
Private Const WM_NCLBUTTONDOWN = &HA1
Private Const HTCAPTION = 2

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function ReleaseCapture Lib "user32" () As Long

Private Declare Function BeginPath Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function Polygon Lib "gdi32" (ByVal hdc As Long, lpPoint As POINTAPI, ByVal nCount As Long) As Long
Private Declare Function Ellipse Lib "gdi32" (ByVal hdc As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Private Declare Function EndPath Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function PathToRegion Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function SetWindowRgn Lib "user32" (ByVal hwnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long

Private Sub Form_DblClick()
'フォームをダブルクリックしたら終了
Unload Me
End Sub

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
'エスケープキーを押されたら終了
Select Case KeyCode
Case vbKeyEscape
Unload Me
End Select
End Sub

Private Sub Form_Load()
Dim wkWnd As Long
Dim wkPoint(3) As POINTAPI
Dim wkRgn As Long

With Me
'パスブラケットを開く
Call BeginPath(.hdc)

'三角形の描画
wkPoint(0).X = 100
wkPoint(0).Y = -10
wkPoint(1).X = 100
wkPoint(1).Y = 100
wkPoint(2).X = -10
wkPoint(2).Y = 100
Call Polygon(.hdc, wkPoint(0), 3)

'楕円の描画
Call Ellipse(.hdc, 0, 0, .ScaleWidth, .ScaleHeight)

'パスブラケットを閉じる
Call EndPath(.hdc)

'リージョンの作成
wkRgn = PathToRegion(.hdc)

'リージョンをウィンドウにセット
Call SetWindowRgn(.hwnd, wkRgn, 1)

End With
End Sub

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
'フォームのドラッグ
Call SbDragStart(Me)
End Sub

'ドラッグルーチン
Public Sub SbDragStart(Frm As Form)
'フォームのドラッグルーチン
ReleaseCapture
Call SendMessage(Frm.hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&)
End Sub


実験方法としてはPolygonとEllipseによってリージョンを作成する座標が決定してますので、どちらかをコメントすると、よりそれぞれの機能を勉強することが出来ると思います。


でわでわ

田吾作7です。

とりあえず、ぼくもいろいろやってみました。いやー勉強になりました。
いちばん簡単だと思った方法をとりあえずアップしておきます。

以下のソースをフォームに貼り付けてください。
Formのプロパティで、
BorderLine=なし
ScaleMode=ピクセル
に設定してください。

ドラッグできるようにしてますが、ドラッグルーチンをはずしたら、ドラッグ付加になります。ついでにShowInTaskbar=Falseにしてやれば、デスクトップに書いたようになりませんか?


Option Explicit
Private Ty...続きを読む

Q「デスクトップの表示」をタスクバーに移動すると…

「デスクトップの表示」というコマンド(絵で表現されてます)がデスクトップにあります。これをクリックすると当たり前ですが、デスクトップが表示されるのですが、これ、デスクトップにあったら何の意味もありませんよね。
そこでこれをクリックし、タスクバーに移動し、元のコマンドをゴミ箱に移動しました。
その後タスクバーに移した方の上に、矢印を持っていくと「デスクトップの表示へのショートカット」となり、これをクリックすると、「ショートカットの検索」となります。
これおかしいです。
タスクバーに「デスクトップの表示」と素直に出ればいいものを「デスクトップの表示へのショートカット」です。
だとすると、オリジナルの「デスクトップの表示」を削除してしまうと、この機能は完全に消えてしまうのでは?

正しい「デスクトップの表示」のタスクバーへの入れ方について教えてください。

Aベストアンサー

↓にやり方が出ています。

参考URL:http://dekiru.impress.co.jp/faq/win/win001.htm

Qデスクトップなど特殊フォルダのフルパスを取得したい

VB6を使用しています。
デスクトップやシステムフォルダなどの特殊フォルダのフルパスを取得したいのですが、方法がよくわかりません。

No.260113の方の質問と同様になってしまうのですが、参考URLがすでになくなっているみたいで判りませんでした。

取得方法をご存知の方、ご教授いただきますよう、よろしくお願いいたします。

Aベストアンサー

#1で最初のSetに=が抜けてました。
すみません。
あとついでに使えるKeyの一覧を書いときます。
AllUsersDesktop
AllUsersStartMenu
AllUsersPrograms
AllUsersStartup
Templates
Fonts
Desktop
StartMenu
Programs
Startup
Favorites
MyDocuments
Recent
SendTo
NetHood
PrintHood

Qアクティブデスクトップで壁紙が変更できない

デスクトップで右クリックをし、アクティブデスクトップをクリック、
そしてデスクトップのカスタマイズで壁紙を変更したいのですが・・・。
「背景」のタブの中に、ちゃんと壁紙の候補はあるのですが、
なぜか「desktop」の青い画面のままで変更できません。
候補の壁紙の名前をクリックしても無反応ですし、
参照のボタンも文字が薄くなっていて押せません。
今デスクトップに保存している画像を壁紙にしたいのですが、
方法はありますでしょうか。宜しくお願いします。

Aベストアンサー

>候補の壁紙の名前をクリックしても無反応ですし、
参照のボタンも文字が薄くなっていて押せません。

こういうことじゃないのかな?

デスクトップの壁紙の変更を禁止する
http://arena.nikkeibp.co.jp/tec/winxp/20040929/109636/

参考URL:http://arena.nikkeibp.co.jp/tec/winxp/20040929/109636/

QVB2005 で NetworkStream で取得したデータのバイト数の取得方法について

VB2005 の初心者です。

System.Net.Sockets を利用して、Windows端末のAシステムとLinux端末のBシステムの通信部分のサービスを開発しています。

その際、NetworkStream で受信したデータのバイト数を取得したいのですが、やり方が分かりません。

データを取得している部分のソースは下記です。
10000バイトずつ取得していますが、
最後、10000バイトに満たない場合、取得したデータのバイト数が知りたいです。

Dim LNetworkStream As NetworkStream
Dim LbEndFlg  As Boolean
Dim LucData(10000) As Byte

Do While LbEndFlg
LNetworkStream = objClient.GetStream()

Redim LucData(10000)
LsLen = LNetworkStream.Read(LucData, 0, LucData.Length)

 LbEndFlg = FindEndOfClaim(LucData)
LstrText = System.Text.Encoding.UTF8.GetString(LucData, 0, LsLen)

MstrXML = MstrXML & LstrText

Loop


NetworkStream には、SetLength というメソッドがありますが、
これは必ず例外を発生させてしまうので、
例外を発生させずにバイト数を取得したいです。

何かヒントになることでも良いので、
皆様の知恵をお借りできれば幸いです。
よろしくお願い致します。

VB2005 の初心者です。

System.Net.Sockets を利用して、Windows端末のAシステムとLinux端末のBシステムの通信部分のサービスを開発しています。

その際、NetworkStream で受信したデータのバイト数を取得したいのですが、やり方が分かりません。

データを取得している部分のソースは下記です。
10000バイトずつ取得していますが、
最後、10000バイトに満たない場合、取得したデータのバイト数が知りたいです。

Dim LNetworkStream As NetworkStream
Dim LbEndFlg  As Boolean
Di...続きを読む

Aベストアンサー

追記。

>以下のように「自分で実装する必要」があります。

もちろん、自分で実装などせずに「ReadTimeoutプロパティに適切な値をセットし、DataAvailableプロパティがTrueだろうがFalseだろうが構わずにReadメソッドを呼び出し、Readメソッドが0以外を返した場合は処理を継続し、Readメソッドが0を返した場合はセッションが切れたかタイムアウトした時だからそこで強制終了する」と言う実装をした方が、遥かに簡単です。


人気Q&Aランキング

おすすめ情報