Articles of winapi

Como obter lista de todas as alças de janela em Java (usando JNA)?

Eu sou novato para o JNA. Eu estou tentando obter alças para todas as janelas, incluindo os minimizados. Eu preciso de HWND de todas as janelas. Eu fui através da pergunta do Windows: como obter uma lista de todas as janelas visíveis? o que me ajudou a obter lista de janelas, mas tem hWnd tipo […]

C ++ executando comandos do CMD

Estou tendo um problema sério aqui. Eu preciso executar uma linha de comando CMD via C ++ sem a exibição da janela do console. Portanto, não posso usar system(cmd) , pois a janela será exibida. Eu tentei winExec(cmd, SW_HIDE) , mas isso não funciona também. CreateProcess é outro que eu tentei. No entanto, isso é […]

Como detectar se o Windows está sendo desligado ou reinicializado

Eu sei que quando o Windows está desligando, ele envia uma mensagem WM_QUERYENDSESSION para cada aplicativo. Isso facilita a detecção quando o Windows está sendo desligado. No entanto, é possível saber se o computador vai desligar ou ele vai reiniciar após o desligamento do Windows. Eu não estou particularmente esperançoso, considerando que a documentação no […]

Como habilitar estilos visuais sem um manifesto

Segundo os docs : “Se você quiser que seu aplicativo use a versão 6 do ComCtl32.dll, você deve adicionar um manifesto de aplicativo ou uma diretiva de compilador para especificar que a versão 6 deve ser usada se estiver disponível.” Observe o OR lógico acima? Então, o que é essa diretiva misteriosa do compilador? Eu […]

Prefixos de caminho \ ?? \ e \\? \

Qual é a diferença entre os caminhos prefixados com \??\ e os prefixados com \\?\ Na linha do Windows 7 CMD DIR dá: \??\Volume{00000000-0000-0000-0000-000000000000}\ WMIC VOLUME LIST dá \\?\Volume{00000000-0000-0000-0000-000000000000}\ obrigado Informação adicional: Eu criei um diretório na minha unidade do sistema onde coloquei todos os meus pontos de assembly. Então eu fiz um MD C:\HDDs […]

Como faço recursivamente criar uma pasta no Win32?

Eu estou tentando criar uma function que leva o nome de um diretório ( C:\foo\bar ou ..\foo\bar\..\baz ou \\someserver\foo\bar ) e cria diretórios como necessário para que todo o caminho seja criado. Eu estou tentando uma implementação bastante ingênua disso e parece ser um pesadelo de processamento de string. Há / vs \ , há […]

Win32: Traga uma janela para o topo

Eu tenho um programa do Windows que tem duas duas janelas: hwnd (main interface) hwnd2 (toplevel window, no parent, created by hwnd) Quando eu clico duas vezes em hwnd, eu preciso que hwnd2 apareça e mostre alguns dados, então eu uso esta function para trazer o hwnd2 para o topo: BringWindowToTop(hwnd2); O hwnd2 é levado […]

Como posso ativar / desativar meu som do PowerShell

Tentando escrever um cmdlet do PowerShell que silencia o som no início, a menos que já esteja sem som e desative o som no final (somente se não tiver sido silenciado para começar). Não foi possível encontrar nenhum object PoweShell ou WMI que eu possa usar. Eu estava brincando com o uso de funções Win32 […]

Como efetivamente matar um processo em C ++ (Win32)?

Atualmente estou escrevendo um programa muito leve, então eu tenho que usar o C ++, uma vez que não está vinculado ao .NET framework que aumenta drasticamente o tamanho do programa. Eu preciso ser capaz de encerrar o processo e para isso eu preciso obter um identificador de processo. Infelizmente eu não imaginei como fazer […]

Comunicação entre processos

Eu tenho duas aplicações: X e Y. X é o aplicativo principal e lida com vários arquivos XML. Tem uma história de mais de 10 anos e meia dúzia de técnicas foram usadas para armazenar, processar e manipular esses arquivos XML. Y é uma ferramenta de debugging que estou desenvolvendo, que pode processar e exibir […]