ASTUCE:COMMENT DONNER UNE FORME OVALE A VOTR EBOUTON DÉMARRER !:-)

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 5 mars 2003 à 18:31
cs_TheHacker Messages postés 442 Date d'inscription samedi 23 novembre 2002 Statut Membre Dernière intervention 19 octobre 2005 - 14 août 2004 à 14:59
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/6354-astuce-comment-donner-une-forme-ovale-a-votr-ebouton-demarrer

cs_TheHacker Messages postés 442 Date d'inscription samedi 23 novembre 2002 Statut Membre Dernière intervention 19 octobre 2005
14 août 2004 à 14:59
Remarque tres pertinante lol, mais o ns'eloigne de notre but premier qu'etait d'avoir un bouton démarrer tout en lui donnant une forme ovale ;), aller @+
tmcuh Messages postés 458 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 18 avril 2009
14 août 2004 à 12:21
simpa le code, dommage que sous 2000, cà donne pas beaucoup d'effet... mais par contre en changeant la valeur du CreateEllipticRgn et en mettant les 2 "0" à 50, y'a plus de démarrer et cà c'est beaucoup plus fun :)

Amicalement TMCUH
rclsilver02 Messages postés 130 Date d'inscription mercredi 19 mars 2003 Statut Membre Dernière intervention 10 février 2012
29 août 2003 à 22:01
merci j essaie
cs_TheHacker Messages postés 442 Date d'inscription samedi 23 novembre 2002 Statut Membre Dernière intervention 19 octobre 2005
29 août 2003 à 17:08
tu peux utiliser l'API
*******************************
Public Declare Function MoveWindow Lib "user32" (ByVal hwnd As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal bRepaint As Long) As Long
******************************
qui te permet de redimensionner la taille d'un handle ainsi que le deplacer.

Pour obtenir les dimensions et les positions du handle tu peux utiliser l'API:

***************************************
Public Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As Rect) As Long
***************************************
tu declare u ntype rect (left,top,right,bottom) tu attribue a une var de ce type la position de ton handle et tu le redimensionne comme tu veux.
rclsilver02 Messages postés 130 Date d'inscription mercredi 19 mars 2003 Statut Membre Dernière intervention 10 février 2012
28 août 2003 à 22:34
voila, comme texte du Boutton demarrer, je voudrais mettre par exemple : Rclsilver02, mais le texte est trop grand pour le boutton, de plus, j ai une version US de windows, donc a la place de demarrer, c est Start, ce qui est encore plus petit .... comment je peux agrandir le boutton ? merci j attends une reponse svp :)
Drgn13 Messages postés 86 Date d'inscription vendredi 14 mars 2003 Statut Membre Dernière intervention 26 mars 2007
26 avril 2003 à 21:20
ah ok merci
cs_TheHacker Messages postés 442 Date d'inscription samedi 23 novembre 2002 Statut Membre Dernière intervention 19 octobre 2005
26 avril 2003 à 14:57
tu redémarres
Drgn13 Messages postés 86 Date d'inscription vendredi 14 mars 2003 Statut Membre Dernière intervention 26 mars 2007
26 avril 2003 à 14:39
comment on enleve apres ??
cs_vichamp Messages postés 29 Date d'inscription mercredi 17 juillet 2002 Statut Membre Dernière intervention 20 mars 2003
20 mars 2003 à 17:01
pas mal, mais sous 2000 ca donne pas grand chose... c meme encore plus laid ! :) y'a pas un moyen de changer le logo windows plutot ?
cs_TheHacker Messages postés 442 Date d'inscription samedi 23 novembre 2002 Statut Membre Dernière intervention 19 octobre 2005
11 mars 2003 à 20:49
j'crois que si tu sais meme pas ou placer le code tu devrais commencer aved des trucs + simples, non ?
C'est comme tu veux,si tu piges pas qq chose, tu peux me demande rpar message de préférence @+
KiTGeN Messages postés 6 Date d'inscription vendredi 7 mars 2003 Statut Membre Dernière intervention 11 mars 2003
11 mars 2003 à 20:10
Oué je debute, j ai fé un ptit programme VBScript...
Et la franchement je sais pas ce ke je dois mettre et ou le placé, si tu kk pourrai m'aider..
KiTGeN Messages postés 6 Date d'inscription vendredi 7 mars 2003 Statut Membre Dernière intervention 11 mars 2003
11 mars 2003 à 20:09
Oué je debute, j ai fé un ptit programme VBScript...
Et la franchement je sais pas ce ke je dois mettre et ou le placé, si tu kk pourrai m'aider..
cs_TheHacker Messages postés 442 Date d'inscription samedi 23 novembre 2002 Statut Membre Dernière intervention 19 octobre 2005
11 mars 2003 à 18:52
:-S t'as pa sl'air de connaitre vb as tu deja fais un prog en VB ??????
KiTGeN Messages postés 6 Date d'inscription vendredi 7 mars 2003 Statut Membre Dernière intervention 11 mars 2003
11 mars 2003 à 18:11
Euh... je suis pommé, c koi une form? si je veux changer mon boutton demarrer en KiT_GeN , je dois faire un copier du truc en haut et le coller dans le bloc note? avec quel extension? Et ou le placez exactement? Aidez je suis nouveau....
cs_TheHacker Messages postés 442 Date d'inscription samedi 23 novembre 2002 Statut Membre Dernière intervention 19 octobre 2005
6 mars 2003 à 01:04
bizarre, chez moi ca marceh tres bien !
cs_lagafeuse Messages postés 69 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 9 août 2003
6 mars 2003 à 00:40
version+ simple lol :




dans une form:
Private Sub Form_Load()
Call TexteDemarrer("tester")
End Sub


'dans un module:
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public Declare Function GetWindow Lib "user32" (ByVal hWnd As Long, ByVal wCmd As Long) As Long
Public Declare Function SetWindowText Lib "user32" Alias "SetWindowTextA" (ByVal Handle As Long, ByVal Texte As String) As Long

Public Sub TexteDemarrer(Letexte As String) 'FOnction principale pour charnger le texte
Call SetWindowText(GetWindow(FindWindow("Shell_TrayWnd", ""), 5), Letexte)
End Sub
cs_lagafeuse Messages postés 69 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 9 août 2003
6 mars 2003 à 00:29
theHacker> marche pas ton truc lol
cs_lagafeuse Messages postés 69 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 9 août 2003
6 mars 2003 à 00:22
merci ;-)
cs_TheHacker Messages postés 442 Date d'inscription samedi 23 novembre 2002 Statut Membre Dernière intervention 19 octobre 2005
5 mars 2003 à 23:47
Au lieu de faire tout ca, ya plus simple, vous cherchez le handle, comme dans le prog que j'ai fait, ensuite a l'aide de l'API SetWindowText, vous changer le texte, je reviens, je vais créer le code, 2 min.
...........................................................................................
Dans le module:
******************************************************
Public Declare Function SetWindowText Lib "user32" Alias "SetWindowTextA" (ByVal Handle As Long, ByVal Texte As String) As Long
********************************************************
Private Sub Form_Load()
Call SetWindowText(HdStart, "Hello")
End Sub
voila @++
AtomWare Messages postés 71 Date d'inscription samedi 28 décembre 2002 Statut Membre Dernière intervention 11 novembre 2004
5 mars 2003 à 20:12
j'ai faitqq fautes.
mettez ca dans un module. et l'utilisation se fait :


textedemarrer "letexte"

'CODE
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public Declare Function GetWindow Lib "user32" (ByVal hWnd As Long, ByVal wCmd As Long) As Long
Public Const WM_SETTEXT = &HC 'CONSTANTE pour mettre texte
Dim wnd As Long, tWnd As Long 'Variables pour stocker le hwnd du bouton démarrer
Public Function ConvertirStringByte(Letexte As String) As Variant 'Fonction pour convertir une chaine en byte(tableau de byte)
Dim Tablo() As Byte
Dim Cnt As Integer
Dim Ln As Integer
Ln = Len(Letexte)
ReDim Tablo(Ln)
For Cnt = 0 To Ln - 1
Tablo(Cnt) = Asc(Mid(Letexte, Cnt + 1, 1))
Next Cnt
Tablo(Ln) = 0
ConvertirStringByte = Tablo
End Function

Public Sub TexteDemarrer(Letexte As String) 'FOnction principale pour charnger le texte
Dim loctet() As Byte
tWnd = FindWindow("Shell_TrayWnd", "") 'Rehcercher le wnd du bouton
wnd = GetWindow(tWnd, 5)
ReDim loctet(Len(Letexte) + 1)
loctet = ConvertirStringByte(Letexte)
Call SendMessage(wnd, WM_SETTEXT, 0&, loctet(0))
End Sub
AtomWare Messages postés 71 Date d'inscription samedi 28 décembre 2002 Statut Membre Dernière intervention 11 novembre 2004
5 mars 2003 à 19:50
Voila la reponse a ta question pour changer le texte du bouton demarrer. Ca peut etre encore plus sympa en combinnant les 2 choses.
AtomWare Messages postés 71 Date d'inscription samedi 28 décembre 2002 Statut Membre Dernière intervention 11 novembre 2004
5 mars 2003 à 19:49
'******************************************************
'Placer dans le form.
'Mettre un bouton
'et mettre comme code
'
' TexteDemarrer "lagafeuse"
'
'******************************************************

Dim wnd As Long, tWnd As Long

Sub TexteDemarrer(Letexte As String)
tWnd = FindWindow("Shell_TrayWnd", "")
wnd = GetWindow(tWnd, 5)
Label1.Caption = wnd
Dim loctet() As Byte
ReDim loctet(Len(Letexte) + 1)
loctet = StringToByteArray(Letexte)
Call SendMessage(wnd, WM_SETTEXT, 0&, loctet(0))
End Sub

'******************************************************v
'dans un module
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public Declare Function GetWindow Lib "user32" (ByVal hWnd As Long, ByVal wCmd As Long) As Long
Public Const WM_SETTEXT = &HC

Public Function ConvertirStringByte(Letexte As String) As Variant
Dim Tablo() As Byte
Dim Cnt As Integer
Dim Ln As Integer
Ln = Len(Letexte)
ReDim Tablo(Ln)
For Cnt = 0 To Ln - 1
Tablo(Cnt) = Asc(Mid(Letexte, Cnt + 1, 1))
Next Cnt
Tablo(Ln) = 0
ConvertirStringByte = Tablo
End Function
'******************************************************v
cs_lagafeuse Messages postés 69 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 9 août 2003
5 mars 2003 à 19:38
t'aurai pas un moyen de modifier le texte par api aussi ?
genre à la place de Démarrer mettre Lagafeuse ?
(je dit bien par api et pas par une pseudo bidouille du texte dans le fichier explorer.exe )

j'attend une réponse ;-)
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
5 mars 2003 à 18:31
Ca donne vraiment un très bon effet. Merci pour cette source qui peut être utile !

8/10

DARK SIDIOUS
Rejoignez-nous