2011-10-17 7 views
0

私はVisual Basic Express 2010で小さなプログラムを作成していますが、その一部はスクリーンショットを遅らせることです。数字/グラフィックを画面に直接描画しますか?

私は主なコードが動作していますが、System.Threading.Thread.CurrentThread.Sleep(5000)でスクリーンショットを撮るのがVisual Basicに遅れていますが、私が探しているのは描画する方法です残りの秒数を画面に直接表示します。

Windowsでは、[設定]の[ディスプレイのプロパティ]で[識別する]をクリックすると、各モニタに大きな数字が表示されます。

私はスクリーンショットが撮られるまで数をカウントダウンして、スクリーンショットのために必要なアプリケーションをフォーカスするための十分な通知をユーザに与えて再作成しようとしています。

これは可能ですか?それとも、コーディングがたくさんあることでしょうか?あなたは

答えて

1

FormLabelコントロールを作成し、それを透明にするには、以下のようなものを使用提供できる任意の助け

感謝:

Me.TransparencyKey = Color.Gray ' or any other color. 
Me.BackColor = TransparencyKey 
Me.FormBorderStyle = FormBorderStyle.None 

はこのような何かを行います。

Screenshot

マウスへのあなたのウィンドウを透明にするには

、PInvokeのGetWindowLongSetWindowLong

<DllImport("user32.dll", SetLastError:=True)> _ 
Private Shared Function GetWindowLong(_ 
ByVal hWnd As IntPtr, _ 
ByVal nIndex As Integer) As Integer 
End Function 

<DllImport("user32.dll")> _ 
Private Shared Function SetWindowLong(_ 
ByVal hWnd As IntPtr, _ 
ByVal nIndex As Integer, _ 
ByVal dwNewLong As IntPtr) As Integer 
End Function 

その後、あなたのForm_Load()次を追加で:

Dim hwnd As IntPtr = Me.Handle 
Dim extendedStyle As Integer = GetWindowLong(hwnd, GWL_EXSTYLE) 
SetWindowLong(hwnd, GWL_EXSTYLE, extendedStyle Or WS_EX_TRANSPARENT) 

定数:

Const WS_EX_TRANSPARENT As Integer = &H20 
Const GWL_EXSTYLE As Integer = -20 
+0

することユーザーはフォームの下にあるアプリケーションを移動できますか?または、フォームがアクティブなフォーカスを取るでしょうか? – JordanW

+1

Aeroが有効な場合、フォームの下にウィンドウを移動することはできません。 –

関連する問題