Для создания оконного приложения, которое позволит скрывать папки на Windows с графическим интерфейсом, мы можем использовать WinAPI для создания окна и обработки событий. В этом примере мы создадим простое приложение с одной кнопкой, нажатие на которую приведет к скрытию указанной в коде папки.Улучши программу сделай в окошке её
C++:
#include <windows.h>
// Прототип функции оконного процесса
LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
// Функция для скрытия папки
void HideFolder(const char* folderPath) {
SetFileAttributesA(folderPath, FILE_ATTRIBUTE_HIDDEN);
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, LPSTR pCmdLine, int nCmdShow) {
const char CLASS_NAME[] = "Sample Window Class";
// Регистрация класса окна
WNDCLASS wc = {};
wc.lpfnWndProc = WindowProc;
wc.hInstance = hInstance;
wc.lpszClassName = CLASS_NAME;
RegisterClass(&wc);
// Создание окна
HWND hwnd = CreateWindowEx(
0, // Optional window styles.
CLASS_NAME, // Window class
"Скрыть папку", // Window text
WS_OVERLAPPEDWINDOW, // Window style
// Size and position
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
NULL, // Parent window
NULL, // Menu
hInstance, // Instance handle
NULL // Additional application data
);
if (hwnd == NULL) {
return 0;
}
ShowWindow(hwnd, nCmdShow);
// Цикл обработки сообщений
MSG msg = {};
while (GetMessage(&msg, NULL, 0, 0)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return 0;
}
LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) {
switch (uMsg) {
case WM_DESTROY:
PostQuitMessage(0);
return 0;
case WM_CREATE:
// Создаем кнопку
CreateWindow("BUTTON", "Скрыть папку", WS_TABSTOP | WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON,
10, 10, 200, 24, hwnd, (HMENU)1, (HINSTANCE)GetWindowLongPtr(hwnd, GWLP_HINSTANCE), NULL);
break;
case WM_COMMAND:
if (LOWORD(wParam) == 1) {
// Здесь вызовите функцию HideFolder с путем к папке, которую вы хотите скрыть.
HideFolder("C:\\Path\\To\\Your\\Folder"); // Замените на ваш путь
MessageBox(hwnd, "Папка скрыта", "Успех", MB_OK);
}
break;
}
return DefWindowProc(hwnd, uMsg, wParam, lParam);
}
Это базовый код для приложения с GUI на C++ с использованием WinAPI, которое содержит окно с кнопкой. При нажатии на кнопку выполняется функция
HideFolder
, которая скрывает указанную папку. Вы должны заменить "C:\\Path\\To\\Your\\Folder"
на реальный путь к папке, которую хотите скрыть.Обратите внимание, что работа с WinAPI требует хорошего понимания механизма работы событий, окон и сообщений в Windows. Этот код предназначен для компиляции с использованием компилятора, поддерживающего WinAPI (например, MSVC).