[xp] batch programmeren en laten draaien bij opstarten

Pagina: 1
Acties:

  • Threster be
  • Registratie: December 2004
  • Laatst online: 22-08 02:24

Threster be

Do or do not, there is no try

Topicstarter
Ik heb een raar probleempje. Mijn afstandsbediening reageert niet meer op mijn "bevelen" wanneer ik mijn pc opstart. Het ligt niet aan de afstandsbedienig zelf, want via een diagnosisch programma'je kon ik uitvinden dat de pc de bevelen wél ontvangt, maar er blijkbaar niets mee doet.

Het rare is dat als ik de service, die normaal de "bevelen" van de afstandsbediening omzet in acties, afsluit en terug opnieuw opstart; alles weer perfect werkt. :?

Ik dacht dus eraan om een soort van batch ofzoiets te maken. Deze zou de service ( N:\Program Files\Medion Home CinemaXL\PowerCinema\PCMService.exe ) opstarten, na een second of 2 afsluiten en daarna opnieuw opstarten. Probleem is dat ik helemaal niet weet hoe zo'n batch te maken.

Kan iemand mij helpen? Zo moeilijk lijkt mij dat toch niet?

  • mabarto
  • Registratie: Februari 2001
  • Laatst online: 26-04 19:14
een batchfile aanmaken en daarin zetten:

1. start > uitvoeren
2. notepad
3. volgende intikken

code:
1
2
net stop "<servicenaam>"
net start "<servicenaam>"


4. opslaan als .bat

[ Voor 89% gewijzigd door mabarto op 29-03-2005 16:59 ]


  • LoeiOrdinair
  • Registratie: Maart 2004
  • Laatst online: 22:08

LoeiOrdinair

To Infinity and Beyond

Dat is idd niet zo moeilijk. Het zelfs heel makkelijk te vinden op Google . Probeer het eerst zelf eens. Loop je vast kan je je vragen hier altijd kwijt.

Lees dit even goed door!

  • Marlibica
  • Registratie: Augustus 2002
  • Laatst online: 17-11-2025

Marlibica

Tijd voor een ondertitel.

Volgens mij is dit geen service. Als een service wordt opgestart vanaf een N: schijf dan lijkt me het meer een progsel dat automatisch wordt opgestart

edit:

Is die N: een partitie???

[ Voor 14% gewijzigd door Marlibica op 29-03-2005 17:02 ]

Sign here against sigs


  • Threster be
  • Registratie: December 2004
  • Laatst online: 22-08 02:24

Threster be

Do or do not, there is no try

Topicstarter
@ Marlibca

Om de een of andere reden heeft m'n windows install z'n partitie N:\ genoemd. |:(

  • Marlibica
  • Registratie: Augustus 2002
  • Laatst online: 17-11-2025

Marlibica

Tijd voor een ondertitel.

Ok, go with ^^^

Sign here against sigs


  • Threster be
  • Registratie: December 2004
  • Laatst online: 22-08 02:24

Threster be

Do or do not, there is no try

Topicstarter
Het is dus geen service,

dus "net start" en "net stop" werken niet.

top zover heb ik dit hier:

"N:\Program Files\Medion Home CinemaXL\PowerCinema\PCMService.exe"
EXIT "N:\Program Files\Medion Home CinemaXL\PowerCinema\PCMService.exe"


De eerste regel werkt, maar de 2e niet. Hoe sluit ik kvind maar niet uit hoe ik het terug kan afsluiten :?

Verwijderd

je zou bijvoorbeeld taskkill.exe kunnen gebruiken wat in je %windir%\system32 staat.
taskkill /F /IM PCMService.exe bijvoorbeeld.

  • Threster be
  • Registratie: December 2004
  • Laatst online: 22-08 02:24

Threster be

Do or do not, there is no try

Topicstarter
Er staat geen taskkill in m'n %windir%\system32 |:(

  • aZuL2001
  • Registratie: September 2002
  • Laatst online: 11-08 12:58
Threster be schreef op dinsdag 29 maart 2005 @ 17:29:
Er staat geen taskkill in m'n %windir%\system32 |:(
http://www.google.com/sea...UTF-8&oe=UTF-8&q=taskkill

Maar om ff ontopic te reageren:

Weet je zeker dat er door PCMService.exe geen service gestart wordt ?

Want je hebt een erg handige optie voor services, herstel acties.
Als de service niet (meer) draait dan na 1 minuut de service herstarten

[ Voor 38% gewijzigd door aZuL2001 op 29-03-2005 17:35 ]

Abort, Retry, Quake ???


Verwijderd

moet ik ff een progje voor je programmeren in delphi?
laat ff weten

  • Threster be
  • Registratie: December 2004
  • Laatst online: 22-08 02:24

Threster be

Do or do not, there is no try

Topicstarter
@Azul2001

Die documentatie is voor Xp Professional, maar ik werk met Home. De home zal taskkill waarschijnlijk niet hebben?

@klerk

dat zou enorm handig zijn. _/-\o_

DUS:
N:\Program Files\Medion Home CinemaXL\PowerCinema\PCMService.exe opstarten
N:\Program Files\Medion Home CinemaXL\PowerCinema\PCMService.exe afsluiten
2 sec pauze
N:\Program Files\Medion Home CinemaXL\PowerCinema\PCMService.exe opstarten

Stuur email op beyens.dries@skynet.be

Verwijderd

working....

verwacht het binnen minuut of 10

Verwijderd

hoop alleen dat je exe mag binnenhalen in je mail, anders zip ik hem even...
Maar programma doet precies wat je zegt (als het goed is)

inmiddels al als zip verstuurd

[ Voor 12% gewijzigd door Verwijderd op 29-03-2005 18:02 ]


  • aZuL2001
  • Registratie: September 2002
  • Laatst online: 11-08 12:58
Threster be schreef op dinsdag 29 maart 2005 @ 17:39:
@Azul2001
Die documentatie is voor Xp Professional, maar ik werk met Home. De home zal taskkill waarschijnlijk niet hebben?
Nog eens goed kijken ;)
Als ik op de 2e link klik dan zie ik vrij duidelijk XP Home staan.
Maar goed, je krijgt al een custom made tooltje.

Abort, Retry, Quake ???


Verwijderd

Voor mensen die interesse hebben in de Delphi code van dit "custom made tooltje":
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
unit Unit1;

interface

uses
  Windows, Variants, Classes, sysutils, Controls, Forms,
  ShellApi, Tlhelp32,psapi,inifiles;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
   private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
implementation

{$R *.dfm}

procedure CreateWin9xProcessList(List: TstringList);
var
  hSnapShot: THandle;
  ProcInfo: TProcessEntry32;
begin
  if List = nil then Exit;
  hSnapShot := CreateToolHelp32Snapshot(TH32CS_SNAPPROCESS, 0);
  if (hSnapShot <> THandle(-1)) then
  begin
    ProcInfo.dwSize := SizeOf(ProcInfo);
    if (Process32First(hSnapshot, ProcInfo)) then
    begin
      List.Add(ProcInfo.szExeFile); 
      while (Process32Next(hSnapShot, ProcInfo)) do 
        List.Add(ProcInfo.szExeFile); 
    end; 
    CloseHandle(hSnapShot);
  end; 
end;

procedure CreateWinNTProcessList(List: TstringList);
var 
  PIDArray: array [0..1023] of DWORD;
  cb: DWORD; 
  I: Integer; 
  ProcCount: Integer; 
  hMod: HMODULE; 
  hProcess: THandle;
  ModuleName: array [0..300] of Char;
begin
  if List = nil then Exit;
  EnumProcesses(@PIDArray, SizeOf(PIDArray), cb);
  ProcCount := cb div SizeOf(DWORD); 
  for I := 0 to ProcCount - 1 do
  begin 
    hProcess := OpenProcess(PROCESS_QUERY_INFORMATION or 
      PROCESS_VM_READ, 
      False,
      PIDArray[I]); 
    if (hProcess <> 0) then 
    begin 
      EnumProcessModules(hProcess, @hMod, SizeOf(hMod), cb);
      GetModuleFilenameEx(hProcess, hMod, ModuleName, SizeOf(ModuleName));
      List.Add(ModuleName); 
      CloseHandle(hProcess); 
    end; 
  end; 
end;

procedure GetProcessList(var List: TstringList); 
var 
  ovi: TOSVersionInfo; 
begin 
  if List = nil then Exit;
  ovi.dwOSVersionInfoSize := SizeOf(TOSVersionInfo); 
  GetVersionEx(ovi); 
  case ovi.dwPlatformId of 
    VER_PLATFORM_WIN32_WINDOWS: CreateWin9xProcessList(List); 
    VER_PLATFORM_WIN32_NT: CreateWinNTProcessList(List);
  end 
end; 


function KillTask(ExeFileName: string): Integer;
const
  PROCESS_TERMINATE = $0001;
var 
  ContinueLoop: BOOL;
  FSnapshotHandle: THandle; 
  FProcessEntry32: TProcessEntry32;
begin 
  Result := 0;
  FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
  FProcessEntry32.dwSize := SizeOf(FProcessEntry32);
  ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32);

  while Integer(ContinueLoop) <> 0 do
  begin
    if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) =
      UpperCase(ExeFileName)) or (UpperCase(FProcessEntry32.szExeFile) =
      UpperCase(ExeFileName))) then
      Result := Integer(TerminateProcess(
                        OpenProcess(PROCESS_TERMINATE,
                                    BOOL(0),
                                    FProcessEntry32.th32ProcessID),
                                    0));
     ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32);
  end;
  CloseHandle(FSnapshotHandle);
end;

procedure TForm1.FormCreate(Sender: TObject);
Var Myini : Tinifile;
    Path,ExeName : String;
Begin
Application.ShowMainForm := False;
MyIni := TiniFile.Create(GetCurrentDir + '\File.ini');
Path := MyIni.ReadString('Bestand','Locatie','N/A');
MyIni.Free;
ShellExecute(0,nil,pchar(Path),nil,nil,1);
sleep(2000);
ExeName := ExtractFileName(Path);
killtask(Exename);
sleep(2000);
ShellExecute(0,nil,pchar(Path),nil,nil,1);
application.Terminate;
end;

end.

Your welcome... _/-\o_
Pagina: 1