tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^2: 画面遷移
投稿日: 2015/08/17(Mon) 14:04
投稿者貴将
ありがとうございます。
返事が遅くなりすみません。

1番目の案は、いろいろと許可申請等の問題があり保留となり
2番目の案「SPI_GETFOREGROUNDLOCKTIMEOUT」を組込み実行しました。

数回実行したのですが、以前とかわらずダメでした。
1. 元の値を退避しておくで(oldValueの値)を確認したのですが
常に0でした。

下記にソースを記載します。

Imports System.Runtime.InteropServices

Public Class frmD

    Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoW" _
          (ByVal uiAction As UInteger, _
           ByVal uiParam As UInteger, _
           ByRef pvParam As UInteger, _
           ByVal fWinIni As UInteger) As Boolean

    Dim oldValue As UInteger

    Private Const SPI_GETFOREGROUNDLOCKTIMEOUT As UInteger = &H2000
    Private Const SPI_SETFOREGROUNDLOCKTIMEOUT As UInteger = &H2001
    :
    :
    :
    :
    Private Sub frmD_Load(sender As Object, e As EventArgs) Handles Me.Load
        On Error Resume Next

        Me.SuspendLayout()
        Me.DoubleBuffered = True

        'カーソルを砂時計
        System.Windows.Forms.Cursor.Current = Cursors.WaitCursor

        ' 1. 元の値を退避しておく
        SystemParametersInfo(SPI_GETFOREGROUNDLOCKTIMEOUT, 0UI, oldValue, 0UI)

        ' 2. ForegroundLockTimeoutを0に書き換える
        SystemParametersInfo(SPI_SETFOREGROUNDLOCKTIMEOUT, 0UI, 0UI, 0UI)

        Me.Activate()
        Me.TopMost = True
    :
    :
    画面表示処理
    :
    :
   End Sub

    Private Sub frmD_Shown(sender As Object, e As EventArgs) Handles Me.Shown

        SplitContainer1.Panel1.VerticalScroll.Value = 0
        SplitContainer1.Panel1.HorizontalScroll.Value = 0
        SplitContainer1.Panel1.Update()

        SplitContainer1.Panel1.VerticalScroll.Value = 0
        SplitContainer1.Panel1.HorizontalScroll.Value = 0
        SplitContainer1.Panel1.Update()

        Me.Activate()
        Me.TopMost = True
        Me.TopMost = False

        ' 3. 元に戻す
        SystemParametersInfo(SPI_SETFOREGROUNDLOCKTIMEOUT, 0UI, oldValue, 0UI)
        'カーソルをデフォルト
        System.Windows.Forms.Cursor.Current = Cursors.Default
        Me.ResumeLayout(False)
    End Sub
     :
    :
    :
    :

    
End Class

以上

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。