Lirck есть один код ->
http://ja.pastebin.ca/raw/890971, скомпилировав который в программу и запустив последнюю - получим в диалогах удаления запрещается нажатия кнопки "Да"
Не трогайте эту папку, скрин был ранее загружен для примера. Если что про неё интересно - [решено] System Volume Information .:[все вопросы]:.
Если переназначить окно срабатывания (с удаление на переименование) - то получим тоже для сабжевого
А если ещё и подменить действие (блок и переименовка кнопки на клик по ней) то и вовсе получим одно из решений сабжа
Код:
#include <windows.h>
int WINAPI WinMain(HINSTANCE Instance, HINSTANCE PrevInstance,LPSTR CmdLine,int ShowCmd)
{
HANDLE hMutex=CreateMutexA(0,FALSE,(".::Anti.Deleet.By.KOrUPt::."));
if(GetLastError()==ERROR_ALREADY_EXISTS||GetLastError()==ERROR_ACCESS_DENIED)
{
CloseHandle(hMutex);
//MessageBoxA(0,"Error, Already running..","Error",MB_ICONSTOP); //ENG
MessageBoxA(0,"Ошибка, Уже запущенно..","Ошибка",MB_ICONSTOP);
exit(0);
}
while(1)
{
Sleep(50);
HWND activewin=GetForegroundWindow();
char dialogname[150]="";
char classname[201]="";
GetWindowTextA(activewin,dialogname,149);
GetClassNameA(activewin,classname,200);
//if(!strcmp(dialogname,"Rename")&&!strcmp(classname,"#32770")!=NULL) //ENG
if(!strcmp(dialogname,"переименование")&&!strcmp(classname,"#32770")!=NULL)
{
//HWND button=FindWindowExA(activewin,NULL,"Button","&Yes");//ENG
HWND button=FindWindowExA(activewin,NULL,"Button","&Да");
//SetWindowTextA(button,"Not allowed");
//EnableWindow(button,false);
SendMessageA(button,BM_CLICK,NULL,NULL);
}
if(GetAsyncKeyState('A')&&GetAsyncKeyState('W')&&GetAsyncKeyState(VK_SHIFT))
{
Sleep(100);
break;
}
continue;
}
return 0;
}
Прога представляет собой безоконное Win32 приложение, работает в бекграунде, выключается комбинацией Shift + A + W, изначально написанное для английской версии.
Если ещё немного доделать программу - добавить CallBack на данное предупреждение (в авторском варианте прога всё время в поиска), то последнее
возможно и вовсе не будет появляется на мгновение.
Наиболее адекватно такое решение считаю в случаи переименование htm/html, когда галку ...не выводить больше ставить не хочется. И то можно проследить - где галка в реестре отмечается, что б потом вернуть назад.
В других прочих случаях решение всё же искать стоит более рациональное, например посетив Автоматизацию действий.
Спасибо за внимание.