begin process at 2012 02 13 09:05:07
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Windows

 > 

Process

 > 

priorité application


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

priorité application

mercredi 14 juin 2006 à 11:20:16 | priorité application

nanou1605

Bonjour, j'aimerais pouvoir lancer une application (.exe) en modifiant sa priorité. J'ai trouvé la source de Nix 'http://www.vbfrance.com/code.aspx?id=20' mais cela ne me convient pas car elle modifie la priorité de l'application courante. Moi, j'aimerai lancer une application (par ex: notepad.exe) en modifiant sa priorité. En réalité, j'ai un programme qui bouffe toute mes ressources et j'aimerais la mettre en priorité basse. Mon idée serait de faire un programme VB qui lance l'applic puis qui modifie sa priorité. (ou encore, si c'est possible, préciser la priorité basse lors du lancement de l'applic. une fonction comme "Lanceapllic(monappli,priorite)") Merci Seb
mercredi 14 juin 2006 à 13:11:07 | Re : priorité application

rt15

Membre Club Administrateur CodeS-SourceS
Bonjour,

Breu hum, si tu connais le Delphi, vala quelques explications sur le sujet...

Il faut que tu récupère les structures StartupInfo et ProcessInformation dans la visionnneuse d'API, ainsi que les déclarations des fonctions CreateProcess, et éventuellement SetThreadPriority pour affiner le changement de priorité.

Ensuite, quelque chose comme ça :

  Dim uStartUpInfo As StartupInfo;
  Dim uProcessInfo As ProcessInformation;

  Call CreateProcess(null, 'notepad.exe', null, null, True, REALTIME_PRIORITY_CLASS, null, null, uStartUpInfo, uProcessInfo)
  Call SetThreadPriority(uProcessInfo.hThread, THREAD_PRIORITY_TIME_CRITICAL)

En remplaçant REALTIME_PRIORITY_CLASS et THREAD_PRIORITY_TIME_CRITICAL par des constantes qui t'intéresse, elle aussi récupérable dans la visionnneuse.

Les aides de CreateProcess et SetThreadPriority
mercredi 14 juin 2006 à 13:31:36 | Re : priorité application

nanou1605

Bonjour, Merci pour ton aide, voila ce que j'ai aujourd'hui (merci à Johanne pour sa source): '********************************************** '* Programmeur:Johanne Dorion '* Nick:ShanaBurns '* Date:17-avril-2002 '*---------------------------------------------------------- '* Module permettant d'executer un fichier exe '* et d'attendre la fin de son execution avant de '* continuer. '*---------------------------------------------------------- '* Dépendance:Aucune '********************************************** Option Explicit Public Const INFINITE = &HFFFF ' Infinite timeout Public Type SECURITY_ATTRIBUTES nLength As Long lpSecurityDescriptor As Long bInheritHandle As Long End Type Public Enum enSW SW_HIDE = 0 SW_NORMAL = 1 SW_MAXIMIZE = 3 SW_MINIMIZE = 6 End Enum Public Type STARTUPINFO cb As Long lpReserved As String lpDesktop As String lpTitle As String dwX As Long dwY As Long dwXSize As Long dwYSize As Long dwXCountChars As Long dwYCountChars As Long dwFillAttribute As Long dwFlags As Long wShowWindow As Integer cbReserved2 As Integer lpReserved2 As Long hStdInput As Long hStdOutput As Long hStdError As Long End Type Public Type PROCESS_INFORMATION hProcess As Long hThread As Long dwProcessId As Long dwThreadId As Long End Type Public Declare Function CreateProcess Lib "kernel32" Alias "CreateProcessA" (ByVal lpApplicationName As String, ByVal lpCommandLine As String, lpProcessAttributes As SECURITY_ATTRIBUTES, lpThreadAttributes As SECURITY_ATTRIBUTES, ByVal bInheritHandles As Long, ByVal dwCreationFlags As Long, lpEnvironment As Any, ByVal lpCurrentDriectory As String, lpStartupInfo As STARTUPINFO, lpProcessInformation As PROCESS_INFORMATION) As Long Public Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long Public Sub ExecutFile(sFile As String, sParam As String, sDir As String, priority As Long, ByVal StartSize As enSW, bWait As Boolean) Dim s As STARTUPINFO Dim p As PROCESS_INFORMATION Dim secur As SECURITY_ATTRIBUTES Dim ret s.cb = Len(s) s.dwFlags = STARTF_USESHOWWINDOW s.wShowWindow = StartSize secur.nLength = Len(secur) ret = CreateProcess(sFile, sParam, secur, secur, 0, priority, 0, sDir, s, p) If bWait Then: WaitForSingleObject p.hProcess, INFINITE End Sub ----------------------------- et voila comment je l'appelle : Call ExecutFile("C:\WINDOWS\System32\calc.exe", "", CurDir$(), HIGH_PRIORITY_CLASS, SW_NORMAL, False) Dans le gestionnaire des tâches, je retrouve calc.exe avec la priorite définie (OK super) mais la calculatrice ne s'affiche pas ??? J'oublie certainement quelques chose mais quoi? De plus lorsque j'essaie avec notepad, il n'apparait pas dans le gestionnaire des tâches: Call ExecutFile("C:\WINDOWS\System32\notepad.exe", "", CurDir$(), HIGH_PRIORITY_CLASS, SW_NORMAL, False) Là je ne comprend pas?? Merci seb
mercredi 14 juin 2006 à 14:03:08 | Re : priorité application

rt15

Membre Club Administrateur CodeS-SourceS
Le problème c'est qu'a mon avis, ce n'est pas propre.

Par exemple, on passe en argument une variable secur de SECURITY_ATTRIBUTES...

Mais qu'y a t'il dedans ? On en sait strictement rien. Il peut y a voir absolument n'importe quoi...

En théorie, faudrait initialiser tout ce que OpenProcess est suceptible d'utiliser, sinon les conséquences seront aléatoires.
mercredi 14 juin 2006 à 14:17:20 | Re : priorité application

nanou1605

RE, je viens de l'initialiser: ' initialisation de la structure SECURITY_ATTRIBUTES secur.nLength = Len(secur) secur.bInheritHandle = True secur.lpSecurityDescriptor = 0 mais ne s'affiche toujours pas??? Dois-je lancer un autre fonction après CreateProcess(...) ??? Merci Seb
mercredi 14 juin 2006 à 14:32:45 | Re : priorité application

nanou1605

Salut, Je viens de tester avec un autre exe et ça marche ;-) Est-ce que calc.exe attend des paramètres ??? En tout cas moi ça marche ... Un grand merci RT15 pour ton aide ainsi que Johanne Dorion pour sa source @+ Merci Seb
jeudi 15 juin 2006 à 09:24:01 | Re : priorité application

nanou1605

Bonjour, mon programme marche très bien avec un EXE windows mais me voila face à un nouveau problème... Lorsque j'essaye de lancer une applic DOS, voici le message d'erreur : "C:\Programme\PROG.EXE %SystemRoot%\system32\config.nt. Le fichier système ne convient pas à l'exécution des applications MS-DOS ou Microsoft Windows. Choisissez 'Fermer' pour mettre fin à l'application. |Fermer| |Ignorer| Quelqu'un a t-il déjà rencontré cette erreur? Merci Seb
jeudi 26 juin 2008 à 00:18:06 | Re : priorité application

koko1

Oui mois aussi j'ai rencontré ce probleme , quand j'essai avec une application Windows (win32) ca marche , avec une application DOS ca marche pas


Cette discussion est classée dans : exe, application, lancer, priorité, modifiant


Répondre à ce message

Sujets en rapport avec ce message

Lancer une application .exe avec argument a partir d'une application cpp [ par ian_solo ] Bonjour,J'explique mon probleme, je cherche a ecrire sur un port // a partir d'une application en cpp, mais je ne trouve aucune commande permettant de Lancer une application en VBS [ par animusaquila ] bonjours je voudrais savoir qu'el code je pourrais utiliser en VBS pour lancer nimporte qu'el application .exe en connaisant son path.. je m'explique, Lancer une application en VBS [ par animusaquila ] bonjours je voudrais savoir qu'el code je pourrais utiliser en VBS pour lancer nimporte qu'el application .exe en connaisant son path.. je m'explique, pb : lancer une application sans en connaître le chemin [ par julien3d ] Bonjour,Je voudrais lancer l'application winzip32.exe à partir d'un shell :   monfichier = "C:\Monfichier.zip"   destination="C:\"   commande = "winzi Lancer un exe dans le meme dossier d'execution de l'application vb [ par Tank01 ] Bonjour,Comment lancer tout simplement un exe depuis mon exe en vb, mais sans y indiquer de chemin ( c'est a dire que ce exe se trouverais dans le mêm comment Controler une application lancer dans le processus [ par elmobile ] salut tous les amisje vous demande si possible à m'aider à trouver une solution de ce problème et merci d'avance.alors voila :j'ai une application app Shell [ par aljeth ] bonjour, Sous Excel en utilisant une macro il est possible de lancer différentes applications de types : Shell ("winword.exe") ou Shell ("outlook.exe protéger une application [ par juuken ] voila j'ai créer un petit programme en vb, j'ai créer mon exe et maintenant je souhaite le le protéger en le cryptant, mais de façon a pouvoir tout de Lancer un exe sous vb6 [ par zidane22 ] Bonjour Je cherche à savoir comment Lancer un exe qui se trouve dans le même dossier que mon application, sans avoir un chemin d'accès prédéfinis. Com Impossible d'installer une application vbnet10 ? [ par EhJoe ] Bonjour, Je viens de développer une application avec vbNet10 "quatre21.exe", mais je n'arrive pas à l'installer sur un autre PC d'origine avec Vista3


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,858 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales