Hirdetés
- Youtube Android alkalmazás alternatívák reklámszűréssel / videók letöltése
- Okosóra és okoskiegészítő topik
- Bemutatkozott az Oppo kamerás csúcsmodellje
- iPhone topik
- Xiaomi 17 - még mindig tart
- One mobilszolgáltatások
- Huawei P10 - pisztácia nem is volt
- Google Pixel topik
- Vékony tokot, nagy és fényes kijelzőt kapott a Huawei Watch Fit 5 és Fit 5 Pro
- Betáblázta magát az Oppo
Ú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
Hirdetés
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Youtube Android alkalmazás alternatívák reklámszűréssel / videók letöltése
- exHWSW - Értünk mindenhez IS
- AMD vs. INTEL vs. NVIDIA
- Gyúrósok ide!
- LG LCD és LED TV-k
- Ingatlanos topic!
- Budapest és környéke adok-veszek-beszélgetek
- Motoros topic
- A jövőben nem csak a gazdagok kiváltsága lehet az Intel CPU-k tuningja
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- További aktív témák...
- Samsung Galaxy S24 Ultra 5G 512GB, Kártyafüggetlen, 1 Év Garanciával
- Dell Inspiron 5441 Snapdragon X Plus / 16GB 512SSD/ AI PC Brutál akkuidő
- Iphone 11 Pro Max 64gb zöld kártyafüggetlen
- TUF A15 FA507NV 15.6" FHD IPS Ryzen 5 7535HS RTX 4060 16GB 512GB NVMe gar
- Eladó: Playstation 5 + PlayStation VR2 szinte új állapotban!
- PCIe 5.0/4.0/3.0 Riser kábelek 90-os hajlított csatlakozóval (220mm/300mm)
- Apple iPhone 13 / 128GB / Kártyafüggetlen / 12Hó garancia / Akku:100%
- AKCIÓ! 1TB Samsung 870 QVO 2,5" SATA SSD meghajtó garanciával hibátlan működéssel
- Wanbo Vali 1 Pro projektor
- Csere-Beszámítás! Playstation 5 Lemezes kiadás!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest






