Odstranění akcí z kontextového menu souboru/složky ve Windows

Na správu všech možných nastavení Windows existující spousty specializovaných nástrojů, které však často před samotným vyřešením problému přinesou hromadu dalších, virů nevyjímaje. Tak se mi podařilo úspěšně si nainstalovat virus, respektive těžící aplikaci nějaké krypto měny, odstranění nebylo zrovna triviální, obzvláště pokud si myslíte, že nejste BFU a vypnete si UAC 🙁 Po odstranění viru mi ale zůstalo spousta zajímavých nastavení, včetně nových kontextových menu v exploreru Windows, vtipně nazvaných Compress File nebo DeCompress File, což samozřejmě neudělalo nic jiného, než že nainstalovalo znovu svůj vir do startup aplikací, Windows scheduleru atd…

Odstranění kontextových menu je možné prostým Registry editorem (regedit,exe) a odstraněním celých nechtěných klíčů v následujících umístěních:

HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers
HKEY_CLASSES_ROOT\Directory\shellex\ContextMenuHandlers
HKEY_CLASSES_ROOT\*\shell

Ukázka umístění:

Okamžitě po odstranění položka z kontextové menu zmizí, není tedy nutný ani restart PC.

Text z „message boxů“ není nutné přepisovat

Netuším jak dlouho tato feature funguje, ale i kdybych ji objevil o měsíc dříve (doufám že nikoliv), ušetřila by mi pár desítek minut života – zdá se to jako pitomost, ale přepisovat do vyhledávače hlášku je trošku pruda, obzvláště pokud chcete text samotné hlášky vložit jako text do WIKI 1:1, protože ze screenshotu se text nezaindexuje, minimálně zatím…

Přitom stačí focus na dialog a klasicky CTRL+C  🙂  #nocomment

Výsledkem je text uložený ve schránce:

 

[Window Title]
Remote Desktop Connection

[Content]
The remote computer that you are trying to connect to requires Network Level Authentication (NLA), but your Windows domain controller cannot be contacted to perform NLA. If you are an administrator on the remote computer, you can disable NLA by using the options on the Remote tab of the System Properties dialog box.

[OK]

BOŽÍ!

Zjištění uloženého WIFI hesla

To, že operační systémy všech výrobců, naprosto ignorují zabezpečení vloženého WIFI hesla, je obecně známá věc, že na to ale existující oficiální příkazy v OS, to jsem fakt netušil.

Stačí k tomu jen dva příkazy, jeden pro vypsání všech uložených WIFI sítí:

netsh wlan show profile

wifi_list

Pak už jen stačí zadat název sítě, pro kterou chcete zjistit heslo:

netsh wlan show profile "Internet_2E" key=clear

wifi_detail

Převod textu na řeč ve Win10 – jak si ušetřit čas a rozbít si produktivitu multitaskingem

Přemýšlel jsem, jak si ušetřit čas a některé aktivity paralelizovat, první co mě napadlo a chtěl jsem vyzkoušet, strojové čtení textů různých blogů, zpráv, twitteru, tedy ideálně v browseru označit text a kontextovým menu přidat do fronty k přečtení. Druhá předpokládaná feature byla nastavení rychlosti čtení, tedy zrychlit cca o 50% čtení a i zde najít časové rezervy.  Nečekal jsem žádné zázraky, ale že nebude nic pro ČJ?

První cesta mě i napadla, nějaký translator a zadat do něho překlad z CZ a spustit si čtení:

Pak jsem ale zjistil, že ve Win10 Creators Update je český TTS (text-to-speech) pod hlasem Microsoft Vit Mobile, nevím jestli nad tím někdo v MS přemýšlel, ale nechápu jak by to z toho mohl někdo poznat, naštěstí „Vit“ neznamená, že to pro MS namluvil Marek Vít 🙂 to bych snad opravdu musel přejít na Linux.

Pak už jen stačí doinstalovat aplikaci využívající API TTS ve Win10 (což také není zrovna nějaká hitparáda ve WinStore vzhledem k tomuto novému API), nerozumím proč to nemá alespoň EDGE nativně, nicméně existují aplikace jako ReadAloud (ve WinStore), které dobře poslouží. Není tam sice integrace do ostatních aplikací jak bych čekal, ale i za copy&paste jsem vděčen, respektive po zkopírování do schránky to rovnou nabízí čtení 🙂

Pitomé je, že když všechno toto vyzkoušíte, přijdete na to, že se opravdu nelze reálně soustředit na tolik věcí najednou a buď si nepamatujete práci, nebo „podcast“, každý si na to musí přijít sám 🙂

Deaktivace náhledů aplikací v hlavním panelu (taskbar) ve Windows 10

Deaktivace často otravných náhledů aplikací v taskbaru je možná pouze přes registry

Deaktivace lze tedy provést spuštěním regedit.exe a v cestě Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced vytvořte DWORD klíč ExtendedUIHoverTime s hodnotou počet sekund * 1000, v případě hodnoty 10000 se tak náhled zobrazí až po 10 sekundách od najetí myši, tedy neprudí při náhodném přejetí…

BTW, Editor registrů (regedit.exe) má po asi 20 letech novou funkci! Zadání celé cesty! #Win10

Editor registrů (regedit.exe) má po asi 20 letech novou funkci! Zadání celé cesty! #Win10

Myslel jsem si, že jsem si toho jenom dříve nevšimnul, ale opravdu je to nová funkce až ve Windows 10 🙂

Nyní je možné zadat celou cestu, například Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced přímo do textboxu pod menu a automaticky se dostanete do zadané větve, hurá!

Google Chrome: The procedure entry point av_get_pix_fmt could not be located in the dynamic link library avutil-50.dll

image

Browser Google Chrome používám sice jen pro testování kompatibility webů, ale i tak mi tato hláška zobrazující se při každém otevření nového okna začala dost vadit 😎 Nevím kde tento problém vzniknul, zřejmě při aktualizaci nějakého SW využívajícího stejnou knihovnu, ale ani kompletní reinstalace Chrome nezabrala, nakonec jsem přejmenoval knihovnu:

“c:\Windows\System32\avutil-50.dll” na “avutil-50.dll0” a už je klid.

Zjištění typu platformy Windows 32bit/x64 v C#

Viděl jsem několik možností jak zjistit o jaký druh platformy se jedná, od absurdní kontroly existence adresáře “Program Files (x86)” (a ještě fixně na disku C), přes kontrolu environment variables, až po docela zajímavou konstrukci

public bool Is64bit() {
    return Marshal.SizeOf(typeof(IntPtr)) == 8;
}

Tuto funkce jsem sice nezkoušel, ale podle mého názoru určitě nebude fungovat pokud změníte target platform v projektu na 32bit a použijete tuto funkci na x64.

Nakonec mi přišlo nejrozumnější volat API funkci Windows (nemusel jsem řešit problém s unsafe assembly):

[more]

private enum Platform
{
    X86,
    X64,
    Unknown
}
 
internal const ushort PROCESSOR_ARCHITECTURE_INTEL = 0;
internal const ushort PROCESSOR_ARCHITECTURE_IA64 = 6;
internal const ushort PROCESSOR_ARCHITECTURE_AMD64 = 9;
internal const ushort PROCESSOR_ARCHITECTURE_UNKNOWN = 0xFFFF;
 
 
[StructLayout(LayoutKind.Sequential)]
internal struct SYSTEM_INFO
{
    public ushort wProcessorArchitecture;
    public ushort wReserved;
    public uint dwPageSize;
    public IntPtr lpMinimumApplicationAddress;
    public IntPtr lpMaximumApplicationAddress;
    public UIntPtr dwActiveProcessorMask;
    public uint dwNumberOfProcessors;
    public uint dwProcessorType;
    public uint dwAllocationGranularity;
    public ushort wProcessorLevel;
    public ushort wProcessorRevision;
};
 
[DllImport("kernel32.dll")]
internal static extern void GetNativeSystemInfo(ref SYSTEM_INFO lpSystemInfo);
 
private static Platform GetPlatform()
{
    SYSTEM_INFO sysInfo = new SYSTEM_INFO();
    GetNativeSystemInfo(ref sysInfo);
 
    switch (sysInfo.wProcessorArchitecture)
    {
        case PROCESSOR_ARCHITECTURE_AMD64:
            return Platform.X64;
 
        case PROCESSOR_ARCHITECTURE_INTEL:
            return Platform.X86;
 
        default:
            return Platform.Unknown;
    }
}

TFS 2010: No connection could be made because the target machine actively refused it.

Pokud si nainstalujete Team Foundation Server 2010 a zobrazuje se Vám tato hláška při snaze vygenerovat report: “No connection could be made because the target machine actively refused it.”

Stačí pouze spustit Windows službu “SQL Server Analysis Services”  a nastavit jí spouštění na automatic 🙂

Snad to někomu ušetří hodiny hledání chyb v nastavení Reporting Services…..