Hirdetés
- MasterDeeJay: Asus B150-Plus D3 coffeetime mod! (DDR3)
- ricsi99: 6. Genes alaplap tündöklése kontra MS/Zintel korlátozásai
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- Luck Dragon: Asszociációs játék. :)
- Graphics: Telefonvásárlási kálváriám....avagy clickbait cím: Horror a hardveraprón
- Gurulunk, WAZE?!
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- bambano: Bambanő háza tája
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
Új hozzászólás Aktív témák
-
Jester01
veterán
1) megnézted, hogy a GetLastError mit mond?
2) van joga a felhasználónak a desktophoz? ("The application must add permission for the specified user account to the specified window station and desktop, even for WinSta0\Default.")
3) esetleg nem unicode stringeket adsz be neki? -
Jester01
veterán
Ok, az OpenProcess tényleg NULL-t ad vissza (de hogy miért, azt csak a microsoft tudja).
Azt, hogy miért csak kettőt indít el, így ránézésre nem tudom. Tipp 2 dolog lehet: vagy nem megy bele a while-ba háromszor vagy nem sikerül elindítani a CreateProcess-sel. Debuggold és/vagy tegyél bele kiíratást no meg hibakezelést.Az üres sort elég egyszerű felismerni, mert a hossza nulla. A levágott sort meg az jelzi, hogy a végén nem soremelés van.
-
Jester01
veterán
Hát ez sajnos elég szörnyűre sikerült
Amivel mindenképpen baj van:
* 3 processznek van helyed statikusan, és sehol nem ellenőrzöd nem lesz-e esetleg több
* az fgets-nél nem nézed nem üres sor jött-e illetve, hogy az egész sor megvan-e
* az OpenProcess nem NULL-t fog visszaadni, hanem INVALID_HANDLE_VALUE-t.
* a CloseHandle akkor is fut, ha a handle null (invalid)
* a while(1) ciklusban a "current" változó elmegy a végtelenbe (és nem is nulláról indul)A többi hiba ezekhez képest elhanyagolható.
-
sghc_toma
senior tag
Udv!
CreateProcess-rol gondolom, hogy Win32 API-val dolgozol.. ha esetleg megsem, es mashol is van CreateProcess, akkor a hsz-em tobbi resze ignoralando
a CreateProcess az utolso parametereben egy PROCESS_INFORMATION-re mutato pointert ker, es ebben a strukturaban tobbek kozott visszaadja a process id-t.. egy ciklusban megprobalhatsz HANDLE-t kerni a process-hez az id alapjan az OpenProcess fv-el.. ha a HANDLE == NULL, akkor mar nem fut a processz.. (nemi kis sleep-et rakjal a ciklusba, kulonban felzabalja a procit) -
Hali!
1. Elméletileg működnie kell(főleg ha a "\\\\target.......... elé teszel egy szóközt
" \\\\target.......2. pont az a dolga, hogy a target nevű gépen futtassa az adott progit....

3. Több gép esetén(LAN vagy ugyanazon Domain esetén) van megoldás, hogy ne kelljen pl 20-szor lefuttatni külön gépnevekkel.
készítesz egy TXT fájlt pl : gepek.txt néven, ebbe a TXT fájba felsorolod azokat a gépeket, amiket szeretnél:
\\gep1
\\gep2
....
\\gepXezután:execl("psexec.exe"," @gepek.txt -i -c d:\\kampi\\map.bat",NULL);
(figyelj a szóközre, itt is ott van)
3. a psexec nem ad vissza hibakódot!(bele is vagyon írva)
Ha 0-val tér vissza akkor minden ok, ha nem akkor azt az általa futtatott alkalmazás vagy egyéb adja vissza. Ezek a hibakódok szabványos Windows hibakódok(már ha az alkalmazás amit futattál windows-os)
Ezen hibakódokat itt megtalálhatod: [Windows System Error Codes]Ha van esetleg még kérdésed(és tudok bent segíteni) akkor azt privbe légyszives, mert ez mégis csak C Topic, amiről meg beszélünk az egész más már...

-
Hali!
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main()
{
int error;
error = execl ("c:\\windows\\system32\\mspaint.exe", " d:\\ubul.jpg", NULL);
system("c:\\windows\\system32\\mspaint.exe d:\\ubul.jpg");
return 0;
}Mindkét esetben megnyitom a Paint-et 1 paraméterrel ami egy kép elérése, azaz a Paint elindul és betölti az adott képet automatikusan.
A system-es megoldás nem elegáns és nem is szokták javasolni, de ennek ellenére használható, ha nem fontos hogy a progi hordozható legyen, és tudod hogy csak egy adott környezetben fogod úgyis csak használni a progit.(vagy másképp fogalmazva: ha magánhasználatra készíted a progit)
Ahogy látszik execl esetén csak simán fel kell sorolni az adott paramétereket(ügyelve hogy szóköz legyen közte!), az error változó ha -1, akkor nem sikerült futtatni az adott külső alkalmazást.
Az execl használatához az unistd.h headerfile szükséges.Fire.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Építő/felújító topik
- MasterDeeJay: Asus B150-Plus D3 coffeetime mod! (DDR3)
- Ubuntu Linux
- Assetto Corsa EVO
- Ingatlanos topic!
- ricsi99: 6. Genes alaplap tündöklése kontra MS/Zintel korlátozásai
- AMD GPU-k jövője - amit tudni vélünk
- Autós topik
- Gyúrósok ide!
- A jövőben nem csak a gazdagok kiváltsága lehet az Intel CPU-k tuningja
- További aktív témák...
- LG 32MR50C-B VA Monitor! 1920x1080 / 100Hz / 5ms / FreeSync
- 27% - GIGABYTE GeForce RTX 5070 Ti GAMING OC 16GB GDDR7 Videokártya!
- Lenvoo M80q Micro - Mini PC - Core i5 10500T 16Gb ram 256GB SSD - gyári Wifi - csak 1db
- 2db Kingston FURY Beast 2x16GB DDR4 3200MHz összesen 32GB (KF432C16BB1/16)
- Fehér Config! 1060 6GB, R5 2600, 16GB DDR4
- HIBÁTLAN iPhone 13 Pro 128GB Gold -1 ÉV GARANCIA - Kártyafüggetlen, MS4602, 100% Akkumulátor
- 27% - Sapphire RX 9070 XT NITRO+ 16GB GDDR6 Videokártya! BeszámítOK
- Keresünk iPhone 13/13 Mini/13 Pro/13 Pro Max
- AKCIÓ! ASUS TUF GeForce RTX 3080 Ti 12GB videokártya garanciával hibátlan működéssel
- Új 27% - ASUS TUF Gaming TF120 ARGB 3-pack FEKETE (90DA0030-B09030)
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest





