Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Best gaming laptop?

Humane (2024)

Recomandare casti 100-150 lei

Schimbare bec far VW Touran 1T3
 Plata impozit PF

Ce parere aveti de viteza/ modul ...

Love Lies Bleeding - 2024

Cum sterg mails din Promotions
 Vanzare cumparare fara transfer b...

Receptie ciudata, in functie de t...

Donez medicamente renale ptr pisica

Ce componenta e asta si ce ziceti...
 Dupa 20 ani de facultate, am uita...

Mobile.de ofera imprumut de bani ...

problema test grila

Digi24 a disparut de pe TV Lg
 

SHELL_EXEC lasa fereastra in incarcare si nu face nimic

- - - - -
  • Please log in to reply
23 replies to this topic

#1
SINEKT

SINEKT

    Cyber-omul

  • Grup: Banned
  • Posts: 4,047
  • Înscris: 23.02.2007
Ce vreau eu sa fac este foarte simplu, cica...  :rolleyes: Vreau sa rulez un fisier PRF (Profil Outlook) cu Outlook.exe, direct dintr-o pagina PHP.

Comanda este:

C:\Progra~1\Micros~2\OFFICE11\outlook.exe /importprf C:\Docume~1\User\Desktop\Profile.prf

si functioneaza fara probleme in consola (cmd.exe). Se deschide Microsoft Outlook si importa toate setarile profilului din fisierul PRF aflat pe desktop.

Acum, in PHP:

<?

$x = popen("C:\Progra~1\Micros~2\OFFICE11\outlook.exe /importprf C:\Docume~1\User\Desktop\Profile.prf", "r");

pclose($x);


?>

Unde in loc de POPEN am incercat pe rand si SYSTEM, SHELL_EXEC, EXEC, PASSTHRU, toate cu sintaxa corecta, zic eu, si nici unul nu face nimic.

In momentul cand rulez scriptul, pagina ramane forever in "loading", se deschid procesele CMD si OUTLOOK, care raman permanent deschise, si atat. Informatiile din fisier NU mi se importa in outlook.

Vreo idee la ce se gandeste scriptul asta de uita sa mai faca ce trebuie ? :lol:


P.S.: Chiar imi cer scuze ca nu am postat la incepatori, dar caseta cu subforumul este asezata foarte aiurea, in asa fel ca seamana cu un banner din ala de reclama si automat mi-a sarit privirea peste el. Chiar am cautat sa postez la incepatori, dar nu am vazut deloc caseta aia... :rolleyes:

Edited by SINEKT, 26 April 2010 - 11:32.


#2
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
Si cand rulezi din cmd.exe direct:
C:\Progra~1\Micros~2\OFFICE11\outlook.exe /importprf C:\Docume~1\Dot\Desktop\Profile.prf

Nu uita sa se mai inchida singur?

#3
SINEKT

SINEKT

    Cyber-omul

  • Grup: Banned
  • Posts: 4,047
  • Înscris: 23.02.2007
Nu.

Se lanseaza Outlook, importa setarile de profil, iar in consola cursorul imi trece pe urmatoarea linie.

Deci ceva de gen:

C:\>

tastez comanda si rezulta:

C:\>C:\Progra~1\Micros~2\OFFICE11\outlook.exe /importprf C:\Docume~1\User\Desktop\Profile.prf

apas enter si se lanseaza outlook, care importa cu succes datele. Acum am in consola:

C:\>C:\Progra~1\Micros~2\OFFICE11\outlook.exe /importprf C:\Docume~1\User\Desktop\Profile.prf

C:\>



In fine, adica procesele inca ruleaza amandoua dupa comanda, atat CMD cat si OUTLOOK, numai ca imi face treaba care ma intereseaza pe mine, adica importarea datelor.

Edited by SINEKT, 26 April 2010 - 11:36.


#4
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
Deci ajungi de la starea initiala
C:\>
la starea finala a promptului:
C:\>

fara sa apesi X-ul ferestrei, File->exit, CTRL+C in consola sau orice altceva? Fara sa interactionezi cu outlook in niciun fel?

Edited by OriginalCopy, 26 April 2010 - 11:36.


#5
SINEKT

SINEKT

    Cyber-omul

  • Grup: Banned
  • Posts: 4,047
  • Înscris: 23.02.2007
Corect

#6
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
Oops, acum am vazut, tu folosesti stringuri interpretate ("asa") si backslash, nu stringuri neinterpretate ('asa').

#7
SINEKT

SINEKT

    Cyber-omul

  • Grup: Banned
  • Posts: 4,047
  • Înscris: 23.02.2007
Si asa si asa este exact acelasi lucru, nu imi face, nu imi arata altceva, doar se blocheaza cum am spus.

#8
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
File in a bug report: http://bugs.php.net/

#9
Pac_Man

Pac_Man

    Senior Member

  • Grup: Senior Members
  • Posts: 2,258
  • Înscris: 10.12.2001
Uite ce folosesc eu pt executii externe pe windows:

	function _exec($cmd)
	{
	   $WshShell = new COM("WScript.Shell");
	   $oExec = $WshShell->Run($cmd, 1,false);
	   return $oExec == 0 ? true : false;
	}

Al treilea parametru din Run specifica daca sa astepte sau nu terminarea executiei programului lansat.

API-ul complet pe MSDN

#10
SINEKT

SINEKT

    Cyber-omul

  • Grup: Banned
  • Posts: 4,047
  • Înscris: 23.02.2007
Scuze pentru lipsa de informare, dar... unde anume acolo intra stringul de comanda ? Comanda in sine, de ex. "ping www.google.ro".

#11
Pac_Man

Pac_Man

    Senior Member

  • Grup: Senior Members
  • Posts: 2,258
  • Înscris: 10.12.2001
Am dat copy cu tot cu functia in care o foloseam. reiau:


  $WshShell = new COM("WScript.Shell");
  $oExec = $WshShell->Run('ping www.google.ro', 1,false);


#12
SINEKT

SINEKT

    Cyber-omul

  • Grup: Banned
  • Posts: 4,047
  • Înscris: 23.02.2007
Ah, da. Sunt si rupt de oboseala. Banuiam ca acolo era :D

Bun, sa vad cum ma descurc si cu asta, si cum reusesc sa instalez si ultimele versiuni pe PHP si Apache si mai revin. ;)

#13
SINEKT

SINEKT

    Cyber-omul

  • Grup: Banned
  • Posts: 4,047
  • Înscris: 23.02.2007
Buuun. Am incercat cu sciptul tau, Pac Man. Acelasi lucru, nu se intampla nimic interesant. Imi porneste procesul OUTLOOK.exe, dar nu face nimic. In plus, cand inchid fortat procesul Outlook, imi da:

Fatal error: Maximum execution time of 30 seconds exceeded in D:\EU\Apash\htdocs\exec.php on line 6

Asta cu true in loc de false acolo. Cand e false, nu da eroare, dar in rest la fel.

Nu am vreo posibilitate sa mai adaug ceva sa imi scrie si mie ce face mai in detaliu, ca un log ? Ca sa pot macar sa am o mica idee unde se poticneste ?

Edited by SINEKT, 27 April 2010 - 14:26.


#14
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
Ma indoiesc ca e problema lui PHP. Outlook nu se lasă ușor controlat.

PHP nu face nimic deosebit, doar îți lansează procesul în execuție. Dacă sunt opțiuni, ele sunt pentru outlook, iar pentru ajutor cu asta există aria windows.

Edited by OriginalCopy, 27 April 2010 - 14:29.


#15
Pac_Man

Pac_Man

    Senior Member

  • Grup: Senior Members
  • Posts: 2,258
  • Înscris: 10.12.2001
Ti s-a mai zis, dar esti SIGUR ca folosesti ghilimele simple ( ' )? Daca ai ghilimele duble ( " ) orice backslash ( \ ) e considerat 'escape sequence' si iti strica stringul de comanda.

Eventual pune intr-o variabila stringul de comanda si apoi da-i un echo pe ecran sa te asiguri ca este ceea ce trebuie acolo ;)

#16
SINEKT

SINEKT

    Cyber-omul

  • Grup: Banned
  • Posts: 4,047
  • Înscris: 23.02.2007

View PostPac_Man, on 27th April 2010, 15:35, said:

echo pe ecran sa te asiguri ca este ceea ce trebuie acolo ;)
Este, este ! :notangel:

#17
SINEKT

SINEKT

    Cyber-omul

  • Grup: Banned
  • Posts: 4,047
  • Înscris: 23.02.2007
Alte idei ? Altceva n-am mai gasit, si in continuare am probleme.

#18
Tepes_x

Tepes_x

    Member

  • Grup: Members
  • Posts: 386
  • Înscris: 30.08.2003
Incearca asa:
$cmd = str_replace("\\","/",'C:\Progra~1\Micros~2\OFFICE11\outlook.exe /importprf C:\Docume~1\User\Desktop\Profile.prf');
pclose(popen("start /B ". $cmd, "r"));


Anunturi

Chirurgia cranio-cerebrală minim invazivă Chirurgia cranio-cerebrală minim invazivă

Tehnicile minim invazive impun utilizarea unei tehnologii ultramoderne.

Endoscoapele operatorii de diverse tipuri, microscopul operator dedicat, neuronavigația, neuroelectrofiziologia, tehnicile avansate de anestezie, chirurgia cu pacientul treaz reprezintă armamentarium fără de care neurochirurgia prin "gaura cheii" nu ar fi posibilă. Folosind tehnicile de mai sus, tratăm un spectru larg de patologii cranio-cerebrale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate