/ Forside / Teknologi / Udvikling / VB/Basic / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
Problem med visning af startknap vha. API
Fra : Mikkel Bundgaard


Dato : 26-08-01 20:31

Hej NG

Jeg har det problem, at jeg kun har halvdelen af noget kode
til at fjerne (og vise) startknappen vha. API. Nedenstående
erklæringer og kode kan fjerne startknappen fra taskbaren.
Problemet er, at jeg ikke kan finde ud af, hvordan jeg får
knappen tilbage igen.

Private Declare Function FindWindow Lib "user32" _
Alias "FindWindowA" _
(ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long

Private Declare Function FindWindowEx Lib "user32" _
Alias "FindWindowExA" _
(ByVal hWnd1 As Long, _
ByVal hWnd2 As Long, _
ByVal lpsz1 As String, _
ByVal lpsz2 As String) As Long

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

Const WM_CLOSE = &H10

Og så kalde f.eks. i en knaps klik-hændelse (for at fjerne startknappen):
SendMessage FindWindowEx(FindWindow("Shell_TrayWnd", ""), _
0&, "Button", vbNullString), WM_CLOSE, 0, 0

--
Mikkel Bundgaard
RUC Datalogi
http://officehelp.gone.dk
Se SpaceCommunicator - en peer-to-peer chat-applikation i Java



 
 
Bjarke Walling Peter~ (27-08-2001)
Kommentar
Fra : Bjarke Walling Peter~


Dato : 27-08-01 16:37

Mikkel Bundgaard skrev:
> Hej NG
>
> Jeg har det problem, at jeg kun har halvdelen af noget kode
> til at fjerne (og vise) startknappen vha. API. Nedenstående
> erklæringer og kode kan fjerne startknappen fra taskbaren.
> Problemet er, at jeg ikke kan finde ud af, hvordan jeg får
> knappen tilbage igen.

Prøv at sende WM_SHOWWINDOW-værdien:

Const WM_SHOWWINDOW = &H18

Private Sub Command1_Click()
SendMessage FindWindowEx(FindWindow("Shell_TrayWnd", ""), _
0&, "Button", vbNullString), WM_SHOWWINDOW, 0, 0
End Sub

Hvis det ikke virker er min forklaring følgende:

Alt i Windows er faktisk på en måde vinduer... en TextBox er et "vindue"...
et billede er et "vindue"... og en knap (såsom Start-knappen) er også et
"vindue".
Det du gør med din kode, er at du sender WmClose-beskeden til Start-knappen.
Denne besked får knappen til at lukke sig - ikke bare skjule sig, men lukke
sig - ligesom når du lukker et normalt program. Derfor kan du ikke bare lige
få den frem igen.

Hvis alt dette er sandt skal du i stedet skjule knappen med en
hide-besked... noget a la WM_HIDEWINDOW... men jeg kan bare ikke finde den i
API Vieweren.

Håber du kan bruge noget af det til noget...

Mvh. Bjarke Walling Petersen

> Private Declare Function FindWindow Lib "user32" _
> Alias "FindWindowA" _
> (ByVal lpClassName As String, _
> ByVal lpWindowName As String) As Long
>
> Private Declare Function FindWindowEx Lib "user32" _
> Alias "FindWindowExA" _
> (ByVal hWnd1 As Long, _
> ByVal hWnd2 As Long, _
> ByVal lpsz1 As String, _
> ByVal lpsz2 As String) As Long
>
> 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
>
> Const WM_CLOSE = &H10
>
> Og så kalde f.eks. i en knaps klik-hændelse (for at fjerne startknappen):
> SendMessage FindWindowEx(FindWindow("Shell_TrayWnd", ""), _
> 0&, "Button", vbNullString), WM_CLOSE, 0, 0
>
> --
> Mikkel Bundgaard
> RUC Datalogi
> http://officehelp.gone.dk
> Se SpaceCommunicator - en peer-to-peer chat-applikation i Java
>
>



Mikkel Bundgaard (27-08-2001)
Kommentar
Fra : Mikkel Bundgaard


Dato : 27-08-01 21:18

Bjarke Walling Petersen <bwp@bwp.dk> wrote in message
news:9mdpe3$2q19$1@news.cybercity.dk...
>
> Prøv at sende WM_SHOWWINDOW-værdien:
>
> Const WM_SHOWWINDOW = &H18
>
> Private Sub Command1_Click()
> SendMessage FindWindowEx(FindWindow("Shell_TrayWnd", ""), _
> 0&, "Button", vbNullString), WM_SHOWWINDOW, 0, 0
> End Sub
>
> Hvis det ikke virker er min forklaring følgende:
>
> Alt i Windows er faktisk på en måde vinduer... en TextBox er et
"vindue"...
> et billede er et "vindue"... og en knap (såsom Start-knappen) er også et
> "vindue".
> Det du gør med din kode, er at du sender WmClose-beskeden til
Start-knappen.
> Denne besked får knappen til at lukke sig - ikke bare skjule sig, men
lukke
> sig - ligesom når du lukker et normalt program. Derfor kan du ikke bare
lige
> få den frem igen.
>
> Hvis alt dette er sandt skal du i stedet skjule knappen med en
> hide-besked... noget a la WM_HIDEWINDOW... men jeg kan bare ikke finde den
i
> API Vieweren.
>
> Håber du kan bruge noget af det til noget...
>
> Mvh. Bjarke Walling Petersen
>
<SNIP Noget kode>
Hej Bjarke

Som du selv var inde på, giver det desværre ikke det forventede resultat,
men mange tak for forsøget. Jeg prøver at løse problemet på en
anden måde
--
Mikkel Bundgaard
RUC Datalogi
http://officehelp.gone.dk
Se SpaceCommunicator - en peer-to-peer chat-applikation i Java



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste