quentinix
Messages postés98Date d'inscriptiondimanche 15 février 2009StatutMembreDernière intervention28 juin 2020 28 nov. 2011 à 16:30
je chercher ceci depuis un sert un moment en language pascale
merci sa m'aide vraiment
cs_cupidonihack
Messages postés1Date d'inscriptionsamedi 11 juin 2005StatutMembreDernière intervention 1 avril 2007 1 avril 2007 à 15:03
et alor mon brave!^^ je te passe le bonjour et puis je te felicite pour ton programme car meme s'il est "bourin" il a le merite de fonctionner.
@+ Cupidonihack allias twain
cyberrob50
Messages postés6Date d'inscriptionvendredi 23 février 2007StatutMembreDernière intervention28 février 2007 28 févr. 2007 à 18:11
La clause "Windows" est déja dans mon programme.
Aussi, j'ai été curieux de remplacer SE_DEBUG_NAME par 'SeShutdownPrivilege' mais ça n'a rien donné.
N'y aurait-il pas un problème?
Enfin, pour l'instant je fais toujours ramer mon programme avec le Shutdown sous Windows XP.
elguevel
Messages postés718Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention22 novembre 20163 28 févr. 2007 à 10:19
La fonction "AjustePrivileges" en question ne fera rien de visible. Elle permet juste à l'application d'obtenir un peu plus de droit afin de pouvoir autorisé l'application à éteindre le système.
D'ailleur le privilège 'SeShutdownPrivilege' permet d'obtenir des droits pour tout ce qui est de l'arret/démarrage
Quand tu va utiliser ma fonction "FermerWindows", "AjustePrivileges" est automatiquement appelé afin d'obtenir ces droits avant d'executer la fonction d'extinction.
Normalement çà fonctionne.
Sinon à la ligne :
LookupPrivilegeValue( nil, SE_DEBUG_NAME, TP.Privileges[0].Luid );
met directment :
LookupPrivilegeValue( nil, 'SeShutdownPrivilege', TP.Privileges[0].Luid );
pour pas te prendre la tête avec les constantes.
Sinon j'ai du oublier de te le preciser, mais dans la clause uses tu dois ajouter : "Windows"
A+
cyberrob50
Messages postés6Date d'inscriptionvendredi 23 février 2007StatutMembreDernière intervention28 février 2007 28 févr. 2007 à 03:28
Est-ce que c'est normal le fait que ce qui est écrit en haut (Privileges) ne marche pas chez moi? J'ai Delphi7 (information).
elguevel
Messages postés718Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention22 novembre 20163 26 févr. 2007 à 16:53
ah oui j'oubliais... tu peux utiliser avec çà deux types de privilège :
SE_DEBUG_NAME = 'SeDebugPrivilege';
SE_EXIT_WINDOWS = 'SeShutdownPrivilege';
Bon Code
elguevel
Messages postés718Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention22 novembre 20163 26 févr. 2007 à 16:52
Essai çà :
{ Arrette ou reboot le systeme }
procedure FermerWindows( bReboot: boolean );
begin
// Ajuste privilèges
AjustePrivileges;
// Reboot ou redemarre ?
if bReboot = True then
ExitWindowsEx( EWX_REBOOT or EWX_FORCE, 0 ) // Redemarre
else
ExitWindowsEx( EWX_SHUTDOWN or EWX_POWEROFF or EWX_FORCE , 0 ); // Extinction
end;
cyberrob50
Messages postés6Date d'inscriptionvendredi 23 février 2007StatutMembreDernière intervention28 février 2007 26 févr. 2007 à 15:15
ExitWindowsEx ne marche pas sous Delphi 7 chez moi.
Sinon en attendant de trouver un meilleur moyen d'éteindre l'ordinateur, j'ai un petit peu amélioré mon script.
A relâcher plus tard.
elguevel
Messages postés718Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention22 novembre 20163 26 févr. 2007 à 08:38
Stop les trucs de porc, j'en ai marre de voir çà :
ExitWindowsEx( EWX_SHUTDOWN or EWX_POWEROFF or EWX_FORCE , 0 );
- Tout n'est pas indenté.
- Le système de language peut largement être améliorer
- Comparaison horaire un peu FreeStyle
A améliorer :-)
++
cyberrob50
Messages postés6Date d'inscriptionvendredi 23 février 2007StatutMembreDernière intervention28 février 2007 23 févr. 2007 à 22:56
Je m'excuse pour la police d'écran, elle n'a pas été prise avec le lot .zip
Veuillez vous rendre sur le site www.dafont.com et prenez la police du nom de
TRANSPONDER AOE
28 nov. 2011 à 16:30
merci sa m'aide vraiment
1 avril 2007 à 15:03
@+ Cupidonihack allias twain
28 févr. 2007 à 18:11
Aussi, j'ai été curieux de remplacer SE_DEBUG_NAME par 'SeShutdownPrivilege' mais ça n'a rien donné.
N'y aurait-il pas un problème?
Enfin, pour l'instant je fais toujours ramer mon programme avec le Shutdown sous Windows XP.
28 févr. 2007 à 10:19
D'ailleur le privilège 'SeShutdownPrivilege' permet d'obtenir des droits pour tout ce qui est de l'arret/démarrage
Quand tu va utiliser ma fonction "FermerWindows", "AjustePrivileges" est automatiquement appelé afin d'obtenir ces droits avant d'executer la fonction d'extinction.
Normalement çà fonctionne.
Sinon à la ligne :
LookupPrivilegeValue( nil, SE_DEBUG_NAME, TP.Privileges[0].Luid );
met directment :
LookupPrivilegeValue( nil, 'SeShutdownPrivilege', TP.Privileges[0].Luid );
pour pas te prendre la tête avec les constantes.
Sinon j'ai du oublier de te le preciser, mais dans la clause uses tu dois ajouter : "Windows"
A+
28 févr. 2007 à 03:28
26 févr. 2007 à 16:53
SE_DEBUG_NAME = 'SeDebugPrivilege';
SE_EXIT_WINDOWS = 'SeShutdownPrivilege';
Bon Code
26 févr. 2007 à 16:52
{ Arrette ou reboot le systeme }
procedure FermerWindows( bReboot: boolean );
begin
// Ajuste privilèges
AjustePrivileges;
// Reboot ou redemarre ?
if bReboot = True then
ExitWindowsEx( EWX_REBOOT or EWX_FORCE, 0 ) // Redemarre
else
ExitWindowsEx( EWX_SHUTDOWN or EWX_POWEROFF or EWX_FORCE , 0 ); // Extinction
end;
{ Libère des privilèges pour effectuer certianes actions }
procedure AjustePrivileges;
var
hToken : THandle;
TP : TTokenPrivileges;
PrevToken : TTokenPrivileges;
PSsize : DWORD;
begin
OpenProcessToken( GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken );
LookupPrivilegeValue( nil, SE_DEBUG_NAME, TP.Privileges[0].Luid );
TP.PrivilegeCount := 1;
TP.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges( hToken, False, TP, SizeOf(TP), PrevToken, PSsize );
end;
26 févr. 2007 à 15:15
Sinon en attendant de trouver un meilleur moyen d'éteindre l'ordinateur, j'ai un petit peu amélioré mon script.
A relâcher plus tard.
26 févr. 2007 à 08:38
ShellExecute(0,'OPEN', Pchar('c:\windows\system32\shutdown.exe'), pchar ('-s -t 0'), Nil, 1);
utilise plutot çà pour éteindre le PC :
ExitWindowsEx( EWX_SHUTDOWN or EWX_POWEROFF or EWX_FORCE , 0 );
- Tout n'est pas indenté.
- Le système de language peut largement être améliorer
- Comparaison horaire un peu FreeStyle
A améliorer :-)
++
23 févr. 2007 à 22:56
Veuillez vous rendre sur le site www.dafont.com et prenez la police du nom de
TRANSPONDER AOE
Encore une fois, je m'excuse.