Otevření souboru který je vlastněn jiným procesem – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Otevření souboru který je vlastněn jiným procesem – C / C++ – Fórum – Programujte.comOtevření souboru který je vlastněn jiným procesem – C / C++ – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Kartik
~ Anonymní uživatel
35 příspěvků
1. 8. 2016   #1
-
0
-

Ahoj,

chtěl bych se zeptat jestli je nějak možné z běžného uživatelského účtu zavřít soubor, který je vlastněný jiný procesem (aplikací), kterou spustil stejný uživatel.

A ještě jedna věc mě vrtá hlavou, když třeba mažu soubory v Total Commanderu, tak někdy píše, že to nejde a jestli to chci zkusit jako administrátor a pak to jde. Ale co jsem zkoušel... 

SID_IDENTIFIER_AUTHORITY NtAuthority = SECURITY_NT_AUTHORITY;
PSID AdministratorsGroup;
BOOL b = AllocateAndInitializeSid(&NtAuthority, 2, SECURITY_BUILTIN_DOMAIN_RID, DOMAIN_ALIAS_RID_ADMINS, 0, 0, 0, 0, 0, 0, &AdministratorsGroup);
if (b)
 {
   if (!CheckTokenMembership(NULL, AdministratorsGroup, &b))
     b = FALSE;
   FreeSid(AdministratorsGroup);
 }

Podle toho admin práva nemam.

Nahlásit jako SPAM
IP: 90.182.189.–
Reklama
Reklama
CZIvo0
Newbie
4. 8. 2016   #2
-
0
-

#1 Kartik
No, pokud soubor drží vlákno jinýho procesu, tak ho nezavřeš.. leda tim že odstřelíš ten proces co ho má otevřenej.. Vím že třeba "unlocker" to umí, ale pokud to zavře vlákna který drží ten proces, většinou ta aplikace spadne (ta co to držela)

s tím TTCMD, pokud máš windows 8 nebo 10, tak se není čemu divit, tam jsou tak zprasený práva, že se divím že to vůbec jde. ve windows jsou admin práva a "admin práva", AdministratorsGroup je snad hlavní správce, a to je jen jeden účet, ty další jsou sice taky správci, ale v jiný skupupině s trochu jinýma právama..

Nahlásit jako SPAM
IP: 217.66.164.–
Ovrscout
~ Anonymní uživatel
69 příspěvků
4. 8. 2016   #3
-
0
-

Je rozdíl mezi tím když je uživatel ve skupině administrátor a možností programu těchto práv využít.

programy jsou běžně spuštěny v "uživatelském" režimu. Pokud potřebují něco víc, je potřeba je spustit v "povýšeném" režimu. Nebo třeba jako total commander, pru určitou úlohu spustí nový proces v tomto režimu.
Je to něco jako sudo v linuxu.

Pro odpíchnutí se jukni sem: http://stackoverflow.com/questions/6412896/giving-application-elevated-uac

nebo zagoogluj : c++ elevated privileges

Nahlásit jako SPAM
IP: 193.165.79.–
Kartik
~ Anonymní uživatel
35 příspěvků
9. 8. 2016   #4
-
0
-

#2 CZIvo
Chtěl bych tedy udělat to, co děla ten Unlocker - zavřít soubor s tím, že následně může aplikace, která ho vlastnila, spadnout... a následně tu aplikaci třeba znovu spustit. Jeden blbej program si nechává vlastnictví, i když k tomu nemá důvod. Nebo alespoň někdy se stává, že drží vlastnictví i po té, co je soubor v aplikaci zavřen (pomůže až ukončení aplikace). Když tedy následně spustím můj program, který dále pracuje s tímto souborem, tak je problém.

Nahlásit jako SPAM
IP: 90.182.189.–
Kartik
~ Anonymní uživatel
35 příspěvků
9. 8. 2016   #5
-
0
-

Ještě jedna věc, právě když jsem Googloval, tak jsem našel, že jako admin lze vlastnictví přebrat. Proto jsem řešil ty admin práva.

Nahlásit jako SPAM
IP: 90.182.189.–
q
~ Anonymní uživatel
219 příspěvků
9. 8. 2016   #6
-
0
-
Nahlásit jako SPAM
IP: 213.211.51.–
q
~ Anonymní uživatel
219 příspěvků
9. 8. 2016   #7
-
0
-

Jen bych teda ještě zmínil IFileIsInUse, kterým můžeš požádat o zavření souboru, pokud to ten proces podporuje.

Nahlásit jako SPAM
IP: 213.211.51.–
CZIvo0
Newbie
10. 8. 2016   #8
-
0
-

Bohužel nemám tušení jak to "unlocker" dělá, ale určitě je to nějaká šílená prasárna :D

Nahlásit jako SPAM
IP: 217.66.164.–
Kartik
~ Anonymní uživatel
35 příspěvků
12. 8. 2016   #9
-
0
-

Dík všem za pomoc, podle toho už to nějak spácham.

Nahlásit jako SPAM
IP: 90.182.189.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 55 hostů

Podobná vlákna

Otevření souboru — založil Tomass

Otevření souboru — založil Sajmi

Otevření souboru — založil dc195

Otevření souboru — založil Jakub Vojáček

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý