webForumDet fria alternativet

Tillåta att sidor öppnas genom att hålla ned

.NET

2 svar · 266 visningar · startad av medialabs

Medlem sedan mars 20023 686 inlägg
Frågan#1

Hejsan!

Håller på och vidareutvecklar en Popup-stoppare som finns på pscode.com. har kommit en bit på vägen men nu har jag stött på trubbel. Programmet är ganska strikt och tillåter inte att några som helst fönster öppnas. Tänkte låta användarna att öppna i nytt fönster om dem håller ned tangenten "Ctrl" och klickar på länken.

Har tittat runt på google och hittat lite kod som man kanske skulle kunna använda sig av.

Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Dim CTRLDown As Boolean

Private Sub tmrCheck_Timer()

	CTRLDown = (GetAsyncKeyState(vbKeyControl) <> 0)

End Sub

Men jag har ingen anning om hur jag ska gå tillväga efter detta.

Bifogar också filerna till projektet. :)

» Här har ni filerna :)

Medlem sedan okt. 20023 030 inlägg
#2

Kan tänka mig att det är den här funktionen som förhindrar att popup-fönster får visas. Då borde det väl fungera med:

Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer

Private Sub IExplore_NewWindow2(ppDisp As Object, Cancel As Boolean)

If Not CBool(GetAsyncKeyState(vbKeyControl)) Then

Select Case RestrictType
Case 0
    Cancel = True
    Load frmBanner
    frmBanner.lblmessage.Caption = "» Popup-fönster har blockerats från: " + IExplore.LocationName + " (Dubbelklicka här för att konfigurera Medialabs Popup-spärr!)"
    frmBanner.Top = 0
    frmBanner.Left = 0
    frmBanner.Width = Screen.Width
    frmBanner.Show
    blocked.Enabled = True
    List1.AddItem IExplore.LocationURL & " är blockerad! Dubbelklicka här för att konfigurera Medialabs Popup-spärr!)"
Case 1
    If IsActive = False Then
       IsActive = True
       freqtester.Enabled = True
    Else
       Cancel = True
    Load frmBanner
    frmBanner.lblmessage.Caption = "» För många förfrågningar från: " + IExplore.LocationName + " den senaste blev blockerad! (Dubbelklicka här för att konfigurera Medialabs Popup-spärr!)"
    frmBanner.Top = 0
    frmBanner.Left = 0
    frmBanner.Width = Screen.Width
    frmBanner.Show
    blocked.Enabled = True
    List1.AddItem IExplore.LocationURL & " är blockerad! (Dubbelklicka här för att konfigurera Medialabs Popup-spärr!)"
    End If
End Select

End If   ' GetAsyncKeyState(...)

End Sub
Medlem sedan mars 20023 686 inlägg
#3

Nexus86!

Underbart! Det fungerar helt perfekt nu :)

276 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
132 ms — deklarationer (db)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)
135 ms — ändringar (db)