Utilisation des fonctions de l'API Windows
Utilisation des fonctions de l'API Windows
Bonjour,
Je crois que j'ai du mal à me familiariser avec le fonctionnement de ce forum. J'aurais préféré une liste fonctionnant par échange de courriers électroniques... Il faudra bien que je m'y fasse...
Je fais mes premiers pas avec PureBasic...
Quelqu'un pourrait-il me donner un exemple de code utilisant par exemple l'API GetWindowsDirectory() ?
Faut-il déclarer cette fonction API ? Comment ?
Comment obtenir le chemin complet du répertoire Windows ?
Merci pour votre aide.
Je crois que j'ai du mal à me familiariser avec le fonctionnement de ce forum. J'aurais préféré une liste fonctionnant par échange de courriers électroniques... Il faudra bien que je m'y fasse...
Je fais mes premiers pas avec PureBasic...
Quelqu'un pourrait-il me donner un exemple de code utilisant par exemple l'API GetWindowsDirectory() ?
Faut-il déclarer cette fonction API ? Comment ?
Comment obtenir le chemin complet du répertoire Windows ?
Merci pour votre aide.
Kiriasse
http://www.kiriasse.fr
http://www.kiriasse.fr
On est pas en VB, pas besoin de déclarer (sauf si tu ouvres manuellement la dll).
Pour l'utilisation, il suffit d'ajouter un _
Apres pour l'utilisation de cet fonction ou d'une autre en particulier, soit quelqu'un connait et peux t'aider, soit tu cherches sur des sites comme le msdn de microsoft.
Dri
Pour l'utilisation, il suffit d'ajouter un _
Code : Tout sélectionner
GetWindowsDirectory_(...)
Dri

GetCurrentDirectory et GetWindowsDirectory
Merci de m'avoir répondu.
Voilà ci-dessous ce que j'ai essayé.
Ça marche pour la première procédure mais pas pour la seconde. Pourquoi ?
D'autre part,
1) pourquoi écrit-on « @appdir$ » et non « appdir$ » (j'ai trouvé cette écriture sur ce forum).
2) Que signifie le « .s » après « Procedure » ? Je suppose que ça signifie « string » mais est-ce indispensable ? C'est parce que la procédure est une fonction qui renvoie une valeur string ?
<--->
Procedure.s Applicationdir()
appdir$ = Space(255)
GetCurrentDirectory_(255, @appdir$)
If Right(appdir$, 1) <> "\" ; si l'adresse ne finit pas par "\"
appdir$ = appdir$ + "\" ; on rajoute le "\"
EndIf
ProcedureReturn appdir$
EndProcedure
MessageRequester("Répertoire de l'application",Applicationdir(),0 + 64)
Procedure.s WindowsDir()
WinDir$ = Space(255)
GetWindowsDirectory_(255, @WinDir$)
If Right(WinDir$, 1) <> "\"
WinDir$ = WinDir$ + "\"
EndIf
ProcedureReturn WinDir$
EndProcedure
MessageRequester("Répertoire Windows",WindowsDir(),0 + 64)
End
<--->
Merci d'avance.
Voilà ci-dessous ce que j'ai essayé.
Ça marche pour la première procédure mais pas pour la seconde. Pourquoi ?
D'autre part,
1) pourquoi écrit-on « @appdir$ » et non « appdir$ » (j'ai trouvé cette écriture sur ce forum).
2) Que signifie le « .s » après « Procedure » ? Je suppose que ça signifie « string » mais est-ce indispensable ? C'est parce que la procédure est une fonction qui renvoie une valeur string ?
<--->
Procedure.s Applicationdir()
appdir$ = Space(255)
GetCurrentDirectory_(255, @appdir$)
If Right(appdir$, 1) <> "\" ; si l'adresse ne finit pas par "\"
appdir$ = appdir$ + "\" ; on rajoute le "\"
EndIf
ProcedureReturn appdir$
EndProcedure
MessageRequester("Répertoire de l'application",Applicationdir(),0 + 64)
Procedure.s WindowsDir()
WinDir$ = Space(255)
GetWindowsDirectory_(255, @WinDir$)
If Right(WinDir$, 1) <> "\"
WinDir$ = WinDir$ + "\"
EndIf
ProcedureReturn WinDir$
EndProcedure
MessageRequester("Répertoire Windows",WindowsDir(),0 + 64)
End
<--->
Merci d'avance.
Kiriasse
http://www.kiriasse.fr
http://www.kiriasse.fr
1)
Dans les cas des api, je pense que tu peux te passer de l'arobase
@appdir$ signifie en fait adresse de la variable appdir$
dans les cas d'une chaine ou d'une structure, c'est identique, mais pour des variables "numérique" ca fera toute la différence.
2)
Procedure.<type> signifie que la valeur de retour de ta fonction est du type <type>.
Donc tu as très bien compris, ApplicationDir() retourne une chaine de caractères.
Dri
Dans les cas des api, je pense que tu peux te passer de l'arobase
@appdir$ signifie en fait adresse de la variable appdir$
dans les cas d'une chaine ou d'une structure, c'est identique, mais pour des variables "numérique" ca fera toute la différence.
2)
Procedure.<type> signifie que la valeur de retour de ta fonction est du type <type>.
Donc tu as très bien compris, ApplicationDir() retourne une chaine de caractères.
Dri
Existence d'un fichier - Variables booléennes
Merci encore à ceux qui me répondent.
J'espère être un jour en mesure de répondre aussi à des débutants pour ne pas être toujours en position de demandeur... Mais il faut patienter ;-)
Encore une question, S.V.P...
Comment tester la présence d'un fichier dans un répertoire ?
Je voudrais créer une procédure du genre « FileExist() » qui renverrait False ou True...
C'est possible ? Comment utiliser une variable booléenne (False / True) comme en VB ?
@ +
J'espère être un jour en mesure de répondre aussi à des débutants pour ne pas être toujours en position de demandeur... Mais il faut patienter ;-)
Encore une question, S.V.P...
Comment tester la présence d'un fichier dans un répertoire ?
Je voudrais créer une procédure du genre « FileExist() » qui renverrait False ou True...
C'est possible ? Comment utiliser une variable booléenne (False / True) comme en VB ?
@ +
Kiriasse
http://www.kiriasse.fr
http://www.kiriasse.fr
Copyright et n° de version de l'EXE obtenu avec PureBasic
Oui, je pensais aussi qu'un Byte ou un Integer (qui s'appelle autrement dans PureBasic) suffisait. En VB, la valeur booléenne est de type Integer.
J'ai une autre question...
J'ai développé un install.exe et un uninstal.exe avec RapidQ et j'ai eu la mauvaise surprise de constater que ces EXE pourtant parfaitement inoffensifs étaient détectés comme porteurs de virus (Trojan) par des logiciels antivirus. Je me suis demandé si le fait que ces EXE ne comportent aucun copyright ni n° de version ne pouvait expliquer cette erreur commise par des antivirus peu élaborés.
Avec PureBasic, est-il possible de définir pour l'EXE obtenu un n° de version et un copyright (comme cela est très facile à faire en VB) ?
@ +
J'ai une autre question...
J'ai développé un install.exe et un uninstal.exe avec RapidQ et j'ai eu la mauvaise surprise de constater que ces EXE pourtant parfaitement inoffensifs étaient détectés comme porteurs de virus (Trojan) par des logiciels antivirus. Je me suis demandé si le fait que ces EXE ne comportent aucun copyright ni n° de version ne pouvait expliquer cette erreur commise par des antivirus peu élaborés.
Avec PureBasic, est-il possible de définir pour l'EXE obtenu un n° de version et un copyright (comme cela est très facile à faire en VB) ?
@ +
Kiriasse
http://www.kiriasse.fr
http://www.kiriasse.fr
-
- Messages : 1092
- Inscription : mer. 28/janv./2004 16:22
- Localisation : 76
- Contact :
Si tu utilise jaPBe, oui. Mais moi, aucun anti-virus ne m'a détecté quoique ce soit avec des exe sans ces infos.
Heis Spiter, webmaster du site http://www.heisspiter.net
Développeur principal et administrateur du projet Bird Chat
Parti courir au bonheur du dév. public et GPL
Développeur principal et administrateur du projet Bird Chat
Parti courir au bonheur du dév. public et GPL

-
- Messages : 4312
- Inscription : mer. 28/janv./2004 20:58
- Localisation : Clermont ferrand OU Olsztyn
- Contact :
Ca m'est arrivé aussi avec des archives autoextratibles WinRAR. Jamais pu le reproduire moi même mais certaines m'ont dis ça.parfaitement inoffensifs étaient détectés comme porteurs de virus (Trojan) par des logiciels antivirus
Enfin, ce sont des antivirus de m**de qui ralent pour rien.
Tu as pas aml d'antivirus gratuit en ligne qui peuvent te permettre de tester
voir :
Kaspersky
Norton
etc ...
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?
[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Merci pour vos commentaires.
Une de mes questions est restée sans réponse...
Savez-vous comment procéder pour donner un n° de version et éventuellement un copyright ou un commentaire à l'EXE obtenu avec PureBasic ?
Une de mes questions est restée sans réponse...
Savez-vous comment procéder pour donner un n° de version et éventuellement un copyright ou un commentaire à l'EXE obtenu avec PureBasic ?
Kiriasse
http://www.kiriasse.fr
http://www.kiriasse.fr
-
- Messages : 1092
- Inscription : mer. 28/janv./2004 16:22
- Localisation : 76
- Contact :
C'est l'alcool
:jesors:

Heis Spiter, webmaster du site http://www.heisspiter.net
Développeur principal et administrateur du projet Bird Chat
Parti courir au bonheur du dév. public et GPL
Développeur principal et administrateur du projet Bird Chat
Parti courir au bonheur du dév. public et GPL
