- suste: Openwrt Barrier Breaker 14.07 saját verzió Tp-link routerekre
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- Luck Dragon: MárkaLánc
- Gurulunk, WAZE?!
- Luck Dragon: Asszociációs játék. :)
- Navaren: Resident Evil Requiem szösszenet
- Oldman2: A KOReader ebook olvasó program
- Mr Dini: Mindent a StreamSharkról!
- MasterDeeJay: Egy nem átlagos Asus videókártya (GTX950M 2GB GDDR3)
Új hozzászólás Aktív témák
-
kampi_
csendes tag
Sziasztok!
Az előző kérdéseimet már megoldottam, de most felmerült egy újabb. Szóval ugye egy olyan progit csinálok, ahol egy fájlban megadom a programok elérési útonalait, és a progi elindítja őket.Ha bezárom valamelyik általam megnyitott progit akkor pedig megnyitom újból. Most már minden szép és jó, viszont felmerült egy olyan probléma, hogy csa kettőt hajlandó megnyitni a program. Ez lehet a createprocess miatt? Itt a program is:
#include <windows.h>
#include <stdio.h>
#include <conio.h>
#define Buf_Size 16*1024
struct proc {
char proc_name[300];
int proc_id;
};
void file_exists(const char * filename);
void filempty(char * filename);
void createproc (char * str, int i, proc *);
int count(char * file);
struct proc proc_data[3];
int main ()
{
int i;
FILE *appfile;
char tmp[Buf_Size];
bool fute;
int current,ret,line;
current=0;
line=0;
file_exists("Application.txt");
filempty("Application.txt");
line = count("Application.txt");
//struct proc proc_data[line];
appfile = fopen("application.txt","r");
while ( fgets(tmp, sizeof tmp, appfile) != NULL )
{
createproc(tmp,current,proc_data);
current++;
}//while
fclose(appfile);
i=0;
while (1)
{
if (i==line) i=0;
current++;
Sleep(2000);
HANDLE phandle = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, proc_data[i].proc_id);
if (phandle==NULL) createproc(proc_data[i].proc_name,current,proc_data);
CloseHandle(phandle);
i++;
}//while
}//main
void createproc (char * str, int i,proc *proc_data)
{
STARTUPINFO StartInfo;
PROCESS_INFORMATION ProcInfo;
memset(&ProcInfo, 0, sizeof(ProcInfo));
memset(&StartInfo, 0 , sizeof(StartInfo));
StartInfo.cb = sizeof(StartInfo);
StartInfo.wShowWindow = SW_HIDE;
CreateProcess(NULL, str, NULL, NULL, false, 0, NULL, NULL, &StartInfo, &ProcInfo);
strcpy(proc_data[i].proc_name,str);
proc_data[i].proc_id = ProcInfo.dwProcessId;
CloseHandle(ProcInfo.hProcess);
CloseHandle(ProcInfo.hThread);
}//createprocHa valaki lát benne hibát legyen szíves szóljon, mert én nem találom, és fontos lenne! Vagy ha esetleg más megoldást tudtok mondani, amivel 2-nél több alkalmazást tudok megnyitni (ha esetleg a createprocess lenne a ludas) akkor jelezzétek!
Előre is köszönöm a segítséget!
kampi
Ú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!
- Azonnali készpénzes nVidia RTX 3000 sorozat videokártya felvásárlás személyesen / csomagküldéssel
- GYÖNYÖRŰ iPhone 15 Pro Max 256GB Blue Titanium-1 ÉV GARANCIA - Kártyafüggetlen, MS4240
- AKCIÓ! ASUS Z790 i9 14900KF 64GB DDR5 1TB SSD RTX 5080 16GB LIAN LI LANCOOL 216R ADATA 850W
- Eladó újszerű Redmi Note 14 Pro 5G 8/256GB levendula / 12 hónap jótállás
- iPhone X 64Gb akku 100%
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
