- iPhone topik
- Samsung Galaxy A52s 5G - jó S-tehetség
- Íme az új Android Auto!
- Xiaomi Watch 2 Pro - oké, Google, itt vagyunk mi is
- Motorola Edge 40 - jó bőr
- Rendkívüli terméktámogatást ígér a Nothing
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Google Pixel 8a - kis telefon kis késéssel
- One mobilszolgáltatások
- Mobil flották
Ú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!
- Anime filmek és sorozatok
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- Kínai és egyéb olcsó órák topikja
- hdanesz: Hyundai Ioniq 28kWh - Első benyomások - második felvonás
- Synology NAS
- Előrendelhető a OnePlus Pad 3
- Elemlámpa, zseblámpa
- iPhone topik
- Vezetékes FEJhallgatók
- Assassin's Creed Odyssey
- További aktív témák...
- Apple iPhone 12 Pro 128GB, Kártyafüggetlen, 1 Év Garanciával
- Cooler Master CK550 RGB mechanikus (barna switch/magyar kiosztás)
- Újszerű Meta Quest 3 (128gb), 1 év garanciával +kiegészítőkkel
- Asus Prime B560M-K + i5 1500 + be quiet! + 32 Gb Patriot Viper 3.200 Mhz Beszámitok!
- Eladó Konfig Ryzen 7 7700 32GB DDR5 1TB SSD RX6800XT 16GB!
- Telefon felvásárlás!! iPhone 16/iPhone 16 Plus/iPhone 16 Pro/iPhone 16 Pro Max
- Samsung Galaxy S23 , 8/128GB, Kártyafüggetlen
- Bomba ár! HP ProBook 450 G7 - i5-10GEN I 16GB I 256SSD I HDMI I 15,6" FHD I Cam I W11 I Gar
- LG 27GR95QL - 27" OLED / Limitált LoL Edition / QHD 2K / 240Hz & 0.03ms / NVIDIA G-Sync / FreeSync
- Dell USB-C dokkolók: (K20A) WD19/ WD19S/ WD19DC + 130W, 180W, 240W töltők
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: Promenade Publishing House Kft.
Város: Budapest