Hirdetés
- Óriási ugrás: teszten az ASUS Zenbook A16 és a Snapdragon X2
- Bőven 50 gramm alá fogyott a Keychron kétféle borítással kérhető, "karmos" egere
- Ön vezető vagy önvezető? Az Uber az utóbbi mellett voksol
- QHD OLED és extrém frissítés: bemutatkozott a Sony INZONE M10S II
- Bekebelezi az Amazon az Apple műholdas partnerét
Ú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!
- Dobozos Új HP OmniBook 5 Flip 2-in-1 érintőkijelzős laptop i5-1334U 16gb ram 512ssd Garancia
- Lenovo T14 Gen 1 Ryzen 5 pro 4650U, 16GB RAM, 512GB SSD, jó akku, számla, garancia
- 27% - MSI RTX 5080 SHADOW 3X OC 16GB GDDR7 Videokártya! BeszámítOK
- 2000GB NVMe SSD, 1 év gar
- 0perces DDR5 5600 vadiúj 2x16GB memória 1 év garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

