Войти

Показать полную графическую версию : [решено] Вы действительно хотите изменить расширение?


Lirck
24-01-2009, 13:08
При изменении расширения, постоянно появляется окно:
Вы действительно хотите изменить расширение?

Как отключить это окно, чтобы оно не показывалось при изменении расширения?

Vadikan
24-01-2009, 13:26
Lirck, включите отображение расширений (Свойства папки - Вид - Скрывать расширения для зарег. типов файлов.)

Lirck
24-01-2009, 13:32
Мне нужно видеть расширения :) Я просто хочу при их изменении отключить это окно, так как оно жутко надоедает.

Yevgenijz
24-01-2009, 13:44
Total Commander! :) :up или Far или Frigate
и никаких заморочек с проводником Сусаниным!

Vadikan
24-01-2009, 13:55
Если речь идет об этом предупреждении

http://pic.ipicture.ru/uploads/090124/A9jRsAoUgE.png (http://ipicture.ru/)

то избавиться от него невозможно. Не исключаю, впрочем, что где-то в системных ресурсах (библиотеках) это можно изменить.

Если вы часто меняете расширения файлов и вас раздражает это предупреждение, используйте сторонние файловые менеджеры.

Admiral
27-01-2009, 16:54
Lirck есть один код -> http://ja.pastebin.ca/raw/890971, скомпилировав который в программу и запустив последнюю - получим в диалогах удаления запрещается нажатия кнопки "Да" http://i061.radikal.ru/0810/ae/32cbe60f23e9.png
Не трогайте эту папку, скрин был ранее загружен для примера. Если что про неё интересно - [решено] System Volume Information .:[все вопросы]:. (http://forum.oszone.net/thread-7187.html)
Если переназначить окно срабатывания (с удаление на переименование) - то получим тоже для сабжевого http://s57.radikal.ru/i158/0901/41/e967ace50373.png
А если ещё и подменить действие (блок и переименовка кнопки на клик по ней) то и вовсе получим одно из решений сабжа
#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, когда галку ...не выводить больше ставить не хочется. И то можно проследить - где галка в реестре отмечается, что б потом вернуть назад.
В других прочих случаях решение всё же искать стоит более рациональное, например посетив Автоматизацию действий (http://forum.oszone.net/forum-101.html).

Спасибо за внимание.




© OSzone.net 2001-2012