Api FindWindow

lejujudu62 Messages postés 15 Date d'inscription vendredi 6 juillet 2007 Statut Membre Dernière intervention 10 novembre 2008 - 25 oct. 2007 à 14:15
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 26 oct. 2007 à 08:35
bonjour
j'ai une petite incomprehension
quand j'execute le code suivante
pas de probleme
je rentre le nom de lafenetre dans la textbox
et la croix rouge de cette fenetre se grise
Public

Class Form1

Public
Declare
Function FindWindow
Lib
"user32"
Alias
"FindWindowA" (
ByVal lpClassName
As
String,
ByVal lpWindowName
As
String)
As
Integer

Public
Declare
Function GetSystemMenu
Lib
"user32" (
ByVal Hwnd
As
Integer,
ByVal bRevert
As
Integer)
As
Integer

Public
Declare
Function GetMenuItemCount
Lib
"user32" (
ByVal hMenu
As
Integer)
As
Integer

Public
Declare
Function RemoveMenu
Lib
"user32" (
ByVal hMenu
As
Integer,
ByVal nPosition
As
Integer,
ByVal ByValwFlags
As
Integer)
As
Integer

Public
Declare
Function DrawMenuBar
Lib
"user32" (
ByVal Hwnd
As
Integer)
As
Integer

Public
Const MF_BYPOSITION = &H400&

Public
Const MF_REMOVE = &H1000&

Private
Sub Button1_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles Button1.Click

Dim Hwnd
As
Integer

Dim titre
As
Stringtitre = TextBox2.Text

Hwnd = FindWindow(vbNullString, titre)

Dim hMenu
As
Integer

Dim nCount
As
IntegerhMenu = GetSystemMenu(Hwnd, 0)

nCount = GetMenuItemCount(hMenu)

Call RemoveMenu(hMenu, nCount - 1, MF_REMOVE
Or MF_BYPOSITION)

Call RemoveMenu(hMenu, nCount - 2, MF_REMOVE
Or MF_BYPOSITION)DrawMenuBar(Hwnd)

End
Sub

Mais quand je met directement le titre de la fenetre dans l'instruction
Hwnd = FindWindow(vbNullString, "Mes documents")

comme je l'ai vu dans plusieurs source  cela ne fonctionne pas!?

merci de m'indiquer l'erreur que je commets

1 réponse

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
26 oct. 2007 à 08:35
étrange, chez moi ca marche au poil...

VB6:

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

Private Sub Form_Load()
Debug.Print FindWindow("CabinetWClass", "Mes documents")
End Sub

as-tu bien une fenetre 'mes documents' ouverte ?
0
Rejoignez-nous