| |
|
|
- Página 1 - |
|
Peter Mallow | Hi, como puede ser con Profano prüfen, si una Expediente gerade verwendet se.
Yo möchte z.B. una Expediente kopieren con el Copy-Befehl. Wenn aber el Expediente gerade de una otro Programa verwendet se oder el Programa geöffnet es, kommt una Fehlermeldung. Das möchte Yo umgehen.
Saludo Peter |
|
|
| WinXP Pro SP2, XProfan 9 + XPSE AMD Athlon 64 X2 3800 | 17.11.2007 ▲ |
|
|
|
|
| |
|
- Página 1 - |
|
| Ob se trata de un Exe oder sonst una Expediente es juega ningún papel. Un ausgeführte Exe es mi humilde opinión normalerweise lesbar. Um a prüfen si lesbar lese ioresult después de assign y openrw de. Ob una exe sin embargo grade ausgeführt se es kaum direkt messbar, sei porque Usted puede el ausgeführte Exe incluso programa sodass esta en mögliche Anfragen antwortet. Das sin embargo es el Thema de Prozesskommunikation y no lesen de geöffneten Archivos o. Prüfen, si Expediente gerade verwendet se. |
|
|
| |
|
|
|
Peter Mallow | |
|
| WinXP Pro SP2, XProfan 9 + XPSE AMD Athlon 64 X2 3800 | 17.11.2007 ▲ |
|
|
|
|
| |
|
| |
|
|
|
Peter Mallow | |
|
| WinXP Pro SP2, XProfan 9 + XPSE AMD Athlon 64 X2 3800 | 17.11.2007 ▲ |
|
|
|
|
| Sí, XProfan10 Code! Usted schreibst Usted hättest XProfan10, por qué testest Usted lo porque no simplemente? |
|
|
| |
|
|
|
Peter Mallow | Nein, tener sólo XProfan 9. Und 9 sabe el Var Befehl no. Pero en el Principio el selbe Code, oder? |
|
|
| WinXP Pro SP2, XProfan 9 + XPSE AMD Athlon 64 X2 3800 | 17.11.2007 ▲ |
|
|
|
|
| Tomar el var simplemente weg y deklariere el con var angeführten Variables por Declarar, el Code hatte todavía una Fehler. |
|
|
| |
|
|
|
RGH | Peter Mallow
Nein, tener sólo XProfan 9. Und 9 sabe el Var Befehl no. Pero en el Principio el selbe Code, oder?
¡Hola Peter, como XProfan 9 Asignar auch todavía no como Función sabe, solltest Usted en Deiner Variante des Codes bleiben.
Saludo Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 18.11.2007 ▲ |
|
|
|
|
| Ah! Wohl verdadero... |
|
|
| |
|
|
| |
|
- Página 2 - |
|
|
Michael Dell | Ob una EXE ausgeführt se sieht uno hiermit: KompilierenMarcaSeparaciónSuchen und beenden von Prozessen (Programmen)
1.) Parameter = DateiName$ (ohne Pfad)
2.) Parameter = 0 - Prozess nicht beenden / 1 - Prozess beenden (falls vorhanden)
Autor: nicht bekannt!
Bearbeitet: Michael Dell
Def ProcessSnapshot(2) !KERNEL32.DLL,CreateToolhelp32Snapshot
Def ProcessFirst(2) !KERNEL32.DLL,Process32First
Def ProcessNext(2) !KERNEL32.DLL,Process32Next
Def GetLastError(0) !KERNEL32.DLL,GetLastError
Def OpenProcess(3) !KERNEL32.DLL,OpenProcess
Def TerminateProcess(2) !KERNEL32.DLL,TerminateProcess
Def CloseHandle(1) !KERNEL32.DLL,CloseHandle
Struct FOKP_PROCENTR32 = dwSize&,cntUsage&,th32ProcessID&,th32DefaultHeapID&,th32ModuleID&,cntThreads&,
th32ParentProcessID&,pcPriClassBase&,dwFlags&,szExeFile$(260)
Proc FindOrKillProcess
Parameters FOKP_Process$,FOKP_Delete&
Declare FOKP_NameLng&,FOKP_hSnapshot&,FOKP_Result&,FOKP_hProcess&,FOKP_ProcAnz&,FOKP_TermOk&,FOKP_PROCENTR#
Dim FOKP_PROCENTR#,FOKP_PROCENTR32
Clear FOKP_NameLng&,FOKP_hSnapshot&,FOKP_Result&,FOKP_hProcess&,FOKP_ProcAnz&,FOKP_TermOk&,FOKP_PROCENTR#
Long FOKP_PROCENTR#,0 = SizeOf(FOKP_PROCENTR#)
FOKP_NameLng& = Len(FOKP_Process$)
FOKP_Process$ = Lower$(FOKP_Process$)
FOKP_hSnapshot& = ProcessSnapshot(2, 0)
IfNot FOKP_hSnapshot& = -1
FOKP_Result& = ProcessFirst(FOKP_hSnapshot&, FOKP_PROCENTR#)
While FOKP_Result&
If Lower$(Right$(FOKP_PROCENTR#.szExeFile$,FOKP_NameLng&)) = FOKP_Process$
If FOKP_Delete& = 1
FOKP_hProcess& = OpenProcess(1, 0, FOKP_PROCENTR#.th32ProcessID&)
FOKP_TermOk& = TerminateProcess(FOKP_hProcess&, 0)
CloseHandle(FOKP_hProcess&)
sleep 100
EndIf
FOKP_ProcAnz& = FOKP_ProcAnz& + (FOKP_Delete&<>1) + FOKP_TermOk&
EndIf
FOKP_Result& = ProcessNext(FOKP_hSnapshot&, FOKP_PROCENTR#)
EndWhile
EndIf
CloseHandle(FOKP_hSnapshot&)
Dispose FOKP_PROCENTR#
Return Int(FOKP_ProcAnz&)
EndProc
Declare GL_DateiName$,GL_ProzessAnz&
GL_DateiName$ = TESTX.EXE
Cls
GL_ProzessAnz& = FindOrKillProcess(GL_DateiName$,0)
If GL_ProzessAnz&
Print (GL_DateiName$ + ist Aktiv)
Else
Print (GL_DateiName$ + ist Inaktiv)
EndIf
Print
Print
Print (Anzahl der Prozesse von q + GL_DateiName$ + q im Speicher: + Str$(GL_ProzessAnz&))
Wai
End
|
|
|
| Salu Michael...
Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! | 18.11.2007 ▲ |
|
|
|
|
| Nette Concepto el Prozesse a durchsuchen! |
|
|
| |
|
|