WoH Board: Anime & Hentai Forum

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

[Suche] Skript

darofin

Ungläubiger
Hey, kann mir bitte jemand ein skript schreiben, dass ein Programm ausführt (Pfad suche ich noch raus), 2 Stunden wartet, das Programm schließt und wieder ausführt (und das ganze wiederholt)?


Es geht um eine Probeversion eines Programms, das leider nur 2 Stunden lang funktioniert ;)
 
windows?
Bei windows kannst das über den Taskplaner so machen lassen.
oder auch Aufgaben Planen
 
sehr schöne Idee, daran habe ich gar nicht gedacht!

Falls jemand dennoch Langeweile haben sollte und mir ein Skript schreiben möchte (oder mir erklärt, wie das geht), wäre ich höchst zufrieden^^
 
es kommt auf die Sprache an ;P

aber es geht über die WinApi.
mit CreateProcess kannst du den Prozess aufrufen und dir die Prozess-ID geben lassen.
mit TerminateProcess und der ID kannst du es dann wieder schließen.
Zwischendrin nen simplen Timer ;P


oder wenn du nur den namen hast:
PHP:
#include <windows.h>
#include <tlhelp32.h>
#include <stdio.h>
 
void printError( TCHAR* msg );
BOOL KillProcessByName(char *szProcessToKill);
 
 
int main()
{
KillProcessByName("Icq.exe");      // Anstatt Icq.exe halt "Test.exe" eingeben!
return 0;
}
 
 
BOOL KillProcessByName(char *szProcessToKill)
{
HANDLE hProcessSnap;
HANDLE hProcess;
PROCESSENTRY32 pe32;
DWORD dwPriorityClass;
 
hProcessSnap = CreateToolhelp32Snapshot( TH32CS_SNAPPROCESS, 0 );
 
if( hProcessSnap == INVALID_HANDLE_VALUE )
  {
    printError( "CreateToolhelp32Snapshot (of processes)" );
    return( FALSE );
  }
 
pe32.dwSize = sizeof( PROCESSENTRY32 );
 
if( !Process32First( hProcessSnap, &pe32 ) )
  {
    printError( "Process32First" );  
    CloseHandle( hProcessSnap );     
    return( FALSE );
  }
 
do{
    if(!strcmp(pe32.szExeFile,szProcessToKill))
    {
    printf("Prozess: %s \n",pe32.szExeFile);
    printf("PID: %d \n",pe32.th32ProcessID );  
    hProcess = OpenProcess(PROCESS_TERMINATE,0, pe32.th32ProcessID);
    TerminateProcess(hProcess,0);
    CloseHandle(hProcess);
    } 
  } while( Process32Next(hProcessSnap,&pe32) );
 
 
CloseHandle( hProcessSnap );
return( TRUE );
}
 
void printError( TCHAR* msg )
{
  DWORD eNum;
  TCHAR sysMsg[256];
  TCHAR* p;
 
  eNum = GetLastError( );
  FormatMessage( FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
         NULL, eNum,
         MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
         sysMsg, 256, NULL );
 
  // Trim the end of the line and terminate it with a null
  p = sysMsg;
  while( ( *p > 31 ) || ( *p == 9 ) )
    ++p;
  do { *p-- = 0; } while( ( p >= sysMsg ) &&
                          ( ( *p == '.' ) || ( *p < 33 ) ) );
 
  // Display the message
  printf( "\n  WARNING: %s failed with error %d (%s)", msg, eNum, sysMsg );
}
nicht mein code und ich habs auch nicht getestet ^^

wir brauche nen cpp-Tag xD
 
ah sehr gut, nach so einem kommando "wait 7200" habe ich gesucht.

Ich meine, es gab für .bat auch ne "kill process", da schaue ich mal nach. Der Kumpel meiner Mutter hat mir schonmal was geschrieben, da kam das drin vor^^

Danke Leute :)
 
Zurück
Oben