Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Сообщения: 3320
Благодарности: 916

Профиль | Отправить PM | Цитировать


Pavla, для более точечного решения, всё же тот твик более глобалел и затрагивает все расширения, можно воспользоваться следующим твиком реестра
Код: Выделить весь код
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.txt\ShellNew]
@="Text File"
"NullFile"=""
Кстати, дабы не выходит из сеанса возможно воспользоваться
следующим батником

Код: Выделить весь код
@echo off
SET FileName=ForceApplyTweaks

IF EXIST %FileName%.exe goto RunEXE
IF EXIST %FileName%.vb goto compileVB

REM Start VbCode

echo Imports System >%FileName%.vb
echo Class ForceApplyTweaks >>%FileName%.vb
echo    Private Declare Sub SHChangeNotify Lib "shell32.dll" (ByVal wEventId As Integer, ByVal uFlags As Integer, ByRef dwItem1 As Integer, ByRef dwItem2 As Integer) >>%FileName%.vb
echo    Private Const SHCNE_ASSOCCHANGED As Integer = ^&H8000000^& >>%FileName%.vb
echo    Private Const SHCNF_IDLIST As Integer = ^&H0 >>%FileName%.vb
echo    Shared Sub Main() >>%FileName%.vb
echo        SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, vbNull, vbNull) >>%FileName%.vb
echo    End Sub >>%FileName%.vb
echo End Class >>%FileName%.vb

REM End VbCode

:compileVB
if exist %SystemRoot%\Microsoft.NET\Framework\v4.0.21006 goto net40Beta2
if exist %SYSTEMROOT%\Microsoft.NET\Framework\v4.0.20506 goto net40Beta1
if exist %SYSTEMROOT%\Microsoft.NET\Framework\v3.5 goto net35	
if exist %SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727 goto net20
if exist %SYSTEMROOT%\Microsoft.NET\Framework\v1.1.4322 goto net11
if exist %SYSTEMROOT%\Microsoft.NET\Framework\v1.0.3705 goto net10

echo Error: .NET Framework 4.0(Beta 2 or 1), 3.5, 3.0, 2.0, 1.1 or 1.0 required.
echo.
goto end

:net10
set VBC_PATH=%SYSTEMROOT%\Microsoft.NET\Framework\v1.0.3705
goto compile

:net11
set VBC_PATH=%SYSTEMROOT%\Microsoft.NET\Framework\v1.1.4322
goto compile

:net20
set VBC_PATH=%SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727
goto compile

:net35
set VBC_PATH=%SYSTEMROOT%\Microsoft.NET\Framework\v3.5
goto compile

:net40Beta1
set VBC_PATH=%SYSTEMROOT%\Microsoft.NET\Framework\v4.0.20506
goto compile

:net40Beta2
set VBC_PATH=%SystemRoot%\Microsoft.NET\Framework\v4.0.21006
goto compile

:compile
%VBC_PATH%\vbc %FileName%.vb /target:exe

:RunEXE
start %FileName%.exe
Вниманию VB.NET кодеров: ^&H в VB.NET просто &H0, так как знак & (амперсанд), не возможно вывести посредством батника (командой echo) без добавления символа ^.

Blast, с возвращением! Возможно на конференции нужен такой бинарник, который собирается в батнике? Дабы форсировать применения реестра для ветки HKEY_CLASSES_ROOT (что по сути является микс веток HKEY_CURRENT_USER\Software\Classes и HKEY_LOCAL_MACHINE\SOFTWARE\Classes) без завершения сеанса.

Отправлено: 09:39, 08-01-2010 | #3