Restrict access to a folder

Hi everybody,

I have an MFC application that save some important facts in a folder called "Rma32", how can i prevent that a user access it from windows explorer or My PC icon, I have in my PC a folder "RRUbackups" that when I try to open send  me a message with "ACCESS DENIED"  and how to protect it of a user (that is not administrator) can delete it.
I want to do this always, when my program is running or not.

Best Regards.
SalvaThorAsked:
Who is Participating?
 
jkrCommented:
You could remove all the ACLs for that folder except the one for 'admin'. The easiest way would be to spawn 'cacls.exe' for that, e.g.

DWORD ExecuteAndWaitForCompletion   (   LPSTR   pszCmd);

void RestrictAccess(char* psz) {

    char acCmd[MAX_PATH];

    wsprintf(acCmd,"cacls.exe /T /G Administrator:F");

   ExecuteAndWaitForCompletion(acCmd);
}

DWORD ExecuteAndWaitForCompletion   (   LPSTR   pszCmd)
{
   STARTUPINFO         si;
   PROCESS_INFORMATION pi;

   BOOL                bRes;

   DWORD               dwCode  =   0;

   MSG                           msg;

   ZeroMemory  (   &si,    sizeof  (   STARTUPINFO));

   si.cb           =   sizeof  (   STARTUPINFO);
   si.dwFlags      =   STARTF_USESHOWWINDOW;
   si.wShowWindow  =   SW_SHOWNORMAL;

   bRes    =   CreateProcess   (   NULL,
                                   pszCmd,
                                   NULL,
                                   NULL,
                                   TRUE,
                                   NORMAL_PRIORITY_CLASS,
                                   NULL,
                                   NULL,
                                   &si,
                                   &pi
                               );

   while   (   WAIT_OBJECT_0   !=  MsgWaitForMultipleObjects   (   1,
                                                                   &pi.hProcess,
                                                                   FALSE,
                                                                   INFINITE,
                                                                   QS_ALLINPUT
                                                               )
           )
           {
               while   (   PeekMessage (   &msg,   NULL,   0,  0,  PM_REMOVE))
                       {
                           DispatchMessage     (   &msg);
                       }
           }

   GetExitCodeProcess  (   pi.hProcess,    &dwCode);

   CloseHandle (   pi.hProcess);
   CloseHandle (   pi.hThread);

   return  (   dwCode);
}
0
 
mahesh1402Commented:
You can't exactly password protect that way, but you can file encryption to encrypt files n hide them so that noone can access them. You may use components like Alfa File Protector to hide all files in a directory, protect them from any action etc. AFP also tag protection with password, so one needs a password to turn off the protection. It's a component / VC++ library - www.alfasp.com <==


-MAHESH

0
 
mahesh1402Commented:
another is magic folder : http://www.pc-magic.com/

-MAHESH
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.