Pereiti prie turinio

Pascalis atidaro .exe


Rekomenduojami pranešimai

Sveiki, ar imanoma pagaminti pascaliu tokia programa, kuri paleistu .exe failo shortcuta? Man reik paleist daug panasiu programu, bet visas jas maigyt uzsiknisimas, tai gal imanoma kaip nors suprogramuot nedidele programele kuri visus juos paleistu? Jei imanoma, tai butu idomu suzinot kaip visa tai uzrasyti (source code). Paskali siek tiek ismanau, tai visko galit nerasyt. Aciu! :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

batch zinau, bet man sito reik VDS serve. kadangi ji naudoja ~20 zmoniu, tai esu uzblokaves cmd, kad visokiu chunveibinu neprileistu su tais batch'ais. o pascal?.. arba gal zinot kaip uzblokuot cmd paprastiems useriams, o adminams palikt? OS: Windows XP

Redagavo Fantasya
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Nežinau, bet turbo pascal radau googlej:

 

uses Dos;
var
ProgramName, CmdLine: string;
begin
Write('Program to Exec (full path): ');
ReadLn(ProgramName);
Write('Command line to pass to ',
   ProgramName, ': ');
ReadLn(CmdLine);
WriteLn('About to Exec...');
SwapVectors;
Exec(ProgramName, CmdLine);
SwapVectors;
WriteLn('...back from Exec');
if DosError <> 0 then{ Error? }
  WriteLn('Dos error #', DosError)
else
  WriteLn('Exec successful. ',
	   'Child process exit code = ',
	   DosExitCode);
end.

 

Pakoregavus galima pritaikyti.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

program DaugExe;
uses windows;

begin

winexec('C:\Program Files\Internet Explorer\iexplore.exe',1);
winexec('C:\Program Files\Adobe\Adobe Photoshop CS4 (64 Bit)\Photoshop.exe',1);
end.

 

Prikopink tiek eilučių ( winexec('TAVO KELIAS Į EXE',1);) ir viskas ;)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

voo aciu labai! sita priverciau veikt, bet dabar turiu dar pora klausimeliu ;)

 

Pirmas:

pvz:

winexec('C:\Program Files\Internet Explorer\iexplore.exe',1);

 

Ka reiskia tas vienetas?

 

 

 

Antras:

 

Man reikia padaryt, kad failo kelia pasiimtu is .txt. Cia viskas paprasta: assign, read, A:string, bla bla ir t.t.

 

Tuomet bandau padaryti, kad "executintu" ta nuskaityta masyva ar paprasta kintamaji va taip:

 

winexec(A, 1);

 

arba:

 

winexec(x,1);

 

 

Ir cia jau iskyla erroras:

Incompatible type for arg no. 1: Got SHORTSTRING, expected PCHAR

 

 

Pakeiciu string i pchar ir gaunu run time error 216 general protection fault

 

 

 

 

Mano kodas:

program Loader;
uses windows;
var x:PChar;
cfg:text;
begin
assign(cfg, 'LoaderConfig.ini');
reset(cfg);
readln(cfg, x);
close(cfg);
  winexec(x, 1);
readln;
end.

 

viska iskarpiau iki paprasciausios, palikau tik pacia esme.. nesu girdejes apie PChar, tai jei kas zinot nepatingekit apsviest truputi ;)

Nuoroda į pranešimą
Dalintis kituose puslapiuose
Pirmas:

pvz:

winexec('C:\Program Files\Internet Explorer\iexplore.exe',1);

 

Ka reiskia tas vienetas?

 

Vienetas nurodo lango būseną paleidus tai yra :

0- Paslėptas langas

1-Normalus langas

2-Nuleistas langas

3.Padidintas langas

 

ir dar nemažai gali būti variantų apie kuriuos gali pasiskaityti http://msdn.microsoft.com/en-us/library/aa394375(VS.85).aspx pasirinkęs Show Window skiltį. Tiesa man ant Win7 ne visi langai tiksliai pagal tuos parametrus veikia .

 

Antras:

 

Man reikia padaryt, kad failo kelia pasiimtu is .txt. Cia viskas paprasta: assign, read, A:string, bla bla ir t.t.

 

Taip atrodo pascalio kodas:

program DaugExe;
uses windows;

var f:text;
x:string;
P : PChar;
begin

assign(f, 'duomenys.txt');
reset(f);

while not eof(f) do
begin

	readln(f, x);
	P := @x[1];
	winexec(p,1);
end;
close(f);
end.

 

Taip txt faile turi būti surašyta:

C:\Program Files\Internet Explorer\iexplore.exe
C:\Program Files\Adobe\Adobe Photoshop CS4 (64 Bit)\Photoshop.exe

 

viska iskarpiau iki paprasciausios, palikau tik pacia esme.. nesu girdejes apie PChar, tai jei kas zinot nepatingekit apsviest truputi

 

PChar tai yra Pointer to Char , o pointeris tai yra ne pats char o tik nuoroda į jį ;)

Redagavo drez3d
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...