Search  
Friday, May 25, 2012 ..:: Forum ::.. Register  Login
 Forum Minimize
Pentru a putea posta mesaje trebuie să vă înregistraţi.
Notă: Mesajele cu conţinut jignitor sau ilegal (inclusiv cereri de soft piratat) nu sunt acceptate şi vor fi şterse imediat .

Pentru a primi raspunsuri rapide si corecte, scrieti in mesaj ce intentionati sa faceti, ce mesaj de eroare primiti, in ce context si in urma caror actiuni. De asemenea, mentionati versiunea de FoxPro in care lucrati!
Dacă nu specificați versiunea, se consideră VFP 9.0 SP2.

SearchForum Home
  Visual FoxPro  Cod, sintaxa si comenzi  cum lansezi o a...
 cum lansezi o aplicatie pe alt PC in retea sau VPN?
 
 9/13/2011 3:35:15 PM
User is offlineAlexM
58 posts


cum lansezi o aplicatie pe alt PC in retea sau VPN?
 (Romania)

Ma confrunt cu urmatoarea situatie:

de pe PC14 trebuie sa lansez pe PC23 o aplicatie (un exe oarecare) fara sa folosesc Remote Desktop fiindca nu trebuie sa-i preiau controlul calculatorului (decat cel mult pentru cateva secunde astfel incat pe utilizator sa nu-l incurce in ceea ce face). Ex. Generez un document pe care il copiez prin retea la el pe calculator si il printez de la imprimanta lui, sau printez de la PC14 un bon fiscal la casa de marcat conectata la PC23. Pentru asta pot lansa driverul casei de marcat pe PC23 fara ca pe ecranul utilizatorului respectiv sa apara vre-o fereastra care sa-l deranjeze in ceea ce face.

Am gasit pe net o solutie in VB care foloseste Win32_ScheduledJob Class dar mie nu imi merge decat daca o lansez pentru calculatorul propriu. Daca la strComputer pun un calc din retea (PC23) nu mai functioneaza. Trebuie facuta vre-o setare pe calculatorul "tinta" pe care vreau sa lansez aplicatia, sau trebuie sa pornesc vre-un serviciu? In articolul respectiv spunea ca foloseste WMI.

http://motevich.blogspot.com/2007/11/execute-program-on-remote-computer.html

  1. strComputer = "."
  2. strCommand = "notepad.exe"

  3. Const INTERVAL = "n"
  4. Const MINUTES = 1

  5. Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
  6. Set objScheduledJob = objWMIService.Get("Win32_ScheduledJob")
  7. Set objSWbemDateTime = CreateObject("WbemScripting.SWbemDateTime")

  8. objSWbemDateTime.SetVarDate(DateAdd(INTERVAL, MINUTES, Now()))
  9. errReturn = objScheduledJob.Create(strCommand, objSWbemDateTime.Value, False, 0, 0, True, intJobID)

  10. If errReturn = 0 Then
  11. Wscript.Echo "notepad.exe was started with a process ID: " & intJobID
  12. Else
  13. Wscript.Echo "notepad.exe could not be started due to error: " & errReturn
  14. End If

As prefera sa rezolv problema in vfp asa incat daca ma puteti ajuta cu un sfat sau un exemplu...

Calculatoarele cu pricina ruleaza WindowsXP Home si se afla in reteaua locala sau pot fi accesate prin VPN.

Multumesc

 9/13/2011 10:15:05 PM
User is offlinemmarius28
139 posts
5th


Re: cum lansezi o aplicatie pe alt PC in retea sau VPN?
 (N/A) Modified By mmarius28  on 9/13/2011 10:18:40 PM)
1. Eu as incerca sa monitorizez un director pe PC23 pentru crearea de fisiere cu DirectoryMonitor (http://www.softpedia.com/get/System/File-Management/DevEnterprise-Directory-Monitor.shtml)

DirectoryMonitor poate lansa o aplicatie VFP pe PC23 care sa trateze ce sa faca cu fisiere (documentul sa il listeze la imprimanta, bonul sa il trimita la casa de marcat etc.)

Ca sa verifici daca operatiunea a reusit, aplicatia VFP de pe PC23 poate crea un fisier de raspuns pe care sa il verifici din retea de pe PC14.

2. A doua solutie ar fi o aplicatie cu winsock, gen chat in retea. Clientul (PC23) poate sa primeasca mesaj/comenzi de la PC14.
 9/14/2011 7:51:04 AM
User is offlineRomeo
529 posts
1st


Re: cum lansezi o aplicatie pe alt PC in retea sau VPN?
 (N/A) Modified By Romeo  on 9/14/2011 7:55:30 AM)
As incerca sa creiez un serviciu web - server web - pe calculatorul pe care se afla aplicatia. La apelul serviciului web, in cod am o comanda de forma: Run /N c:\Aplicatie\Apl.exe
Aplicatia o poti lansa din program windows sau browser (care apeleaza serviciul web - poate fi chiar Visual FoxPro).

Slava Tatalui si Fiului si Sfantului Duh si acum si pururea si-n vecii vecilor. Amin.
 9/14/2011 9:35:24 AM
User is offlineMaciFla
17 posts


Re: cum lansezi o aplicatie pe alt PC in retea sau VPN?
 (Romania)
Poti folosi PsExec de forma : psexec \\NumeStatiePeCareSaRuleze c:\bin\test.exe PsExec face parte din suita Systernals (instrumente gratuite), pusa la dispozitie de Microsoft. Documentatie si descarcare de aici: http://technet.microsoft.com/en-us/sysinternals/bb897553
 9/14/2011 11:40:16 AM
User is offlineAlexM
58 posts


Re: cum lansezi o aplicatie pe alt PC in retea sau VPN?
 (Romania)

Multumesc,

Am folosit DirectoryMonitor fiindca nu mai lucrasem nici cu winsock nici cu servicii web si rezolvarea imi trebuia "ieri" ca de obicei.

Singura problema a fost ca la declansarea unui eveniment (creare/modificare/stergere) de fisier in directorul monitorizat, DirectoryMonitor lanseaza exe-ul pe care i-l specifici cu 2 parametrii:

cNumeFisier- cale+nume fisier care a declansat evenimentul

cOperatie - ce anume s-a intamplat cu fisierul (creare/modificare/stergere)

In rest, nu am facut decat sa lansez ShellExecute si sa-i specific ce vreau (print de pdf, respectiv lansarea driverului casei de marcat)

PARAMETERS fisier, p1

DECLARE INTEGER ShellExecute IN shell32.dll ;

INTEGER hndWin, ;

STRING cAction, ;

STRING cFileName, ;

STRING cParams, ;

STRING cDir, ;

INTEGER nShowWin

IF RIGHT(fisier,3)='inp'

cfilename='C:\Documents and Settings\Owner\My Documents\Senior Software\DatecsMp55\datprint.exe'

cParams=fisier

cAction='open' && 'print'

ELSE

cFileName=fisier && "C:\windows\notepad.exe"

cParams=SPACE(0) && "d:\seniorremote\fisier.txt"

cAction='print'

ENDIF

cDir=""

nShowWin=3 && 1 = normal, 2 = minimised, 3 = maximised

kk=shellexecute(0,cAction,cFileName,cParams,cDir,nShowWin)

 9/14/2011 11:43:06 AM
User is offlineAlexM
58 posts


Re: cum lansezi o aplicatie pe alt PC in retea sau VPN?
 (Romania)
Multumesc, dar am incercat deja cu PsExec si nu stiu de ce dar nu-mi functioneaza. Imi spune ca nu se poate conecta pe contul de admin.Oricum am rezolvat-o cu DirectoryMonitor.
 9/14/2011 12:57:28 PM
User is offlinemmarius28
139 posts
5th


Re: cum lansezi o aplicatie pe alt PC in retea sau VPN?
 (N/A)
Am incercat si eu psexec. Trebuie sa fi logat cu un utilizator cu drepturi de administrator, sau sa dai parametru la psexec, un utilizator cu drepturi de administrator. psexec \\remote-calculator program.exe -u domeniu\administrator -p parola
  Visual FoxPro  Cod, sintaxa si comenzi  cum lansezi o a...

Search  Forum Home         

 Google Ads Minimize

    

Copyright 2002-2010 Profox   Terms Of Use  Privacy Statement