RunDLL32.exe (Explicacao)

Started by anakim, 13 de May , 2006, 01:14:06 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

anakim

Introducao
ola a todos, andei explorando a API (Application Program Interface) do Windows e, e estava muito interessado em ajudar o pessoal q mexe diretamente com windows, o pessoal q gosta de mexer com BATCH SCRIPT etc..., e eu ja tinha usado antes o famoso RunDLL32.exe (processo severamente importante para o windows) no comeco da minha caminhada no mundo dos computadores, entao aqui vou explicar o que e RunDLL32.exe e tbm oq podemos fazer com ele, entao chega de papo furado e vamu direto ao assunto.

O que e RunDLL32.exe?
Como o proprio nome diz, ele e um arquivo essencial para o windows que tem como objetivo carregar e rodar DLL, sem ele o windows nao executa nada praticamente, o RunDLL32.dll e uma versao nova da antiga RunDLL.exe.
A diferenca entre RunDLL.exe e RunDLL32.exe, e que a antiga roda apenas DLL de 16 bits, ja o RunDLL32.exe roda DLL de 32 bits.

OBS: DLL = Dynamically Linked Library, uma bilioteca ligada a um executável em tempo de execução.

O que podemos fazer com RunDLL32.exe?
Muitas coisas legais, e uteis, desde um atalho direto para o formatador de disquetes ate um Batch Script totalmente integrado ao windows, leia mais abaixo...

Como eu uso RunDLL32.exe?
Basicamente simples usa-lo, abaixo se encontra a sintaxe para usar:

RUNDLL32.EXE ,


Abaixo exemplos de uso:

Formatador de Drivers - rundll32.exe shell32.dll,SHFormatDrive
Abrir com... - rundll32.exe shell32.dll,OpenAs_RunDLL " & sFile, vbNormalFocus
Painel de Controle - Rundll32.exe shell32.dll,Control_RunDLL
Fazer BEEP - rundll32 user.exe,messagebeep
Abrir URL - rundll32.exe shdocvw.dll,OpenURL %1
Abrir AVI - rundll32.exe amovie.ocx,RunDll /open %1
Rodar AVI - rundll32.exe amovie.ocx,RunDll /play /close %1
Abrir MPEG - rundll32.exe amovie.ocx,RunDll /open %1
Rodar MPEG - rundll32.exe amovie.ocx,RunDll /play /close %1
Abrir Som - rundll32.exe amovie.ocx,RunDll /open %1
Email para... - rundll32.exe c:\windows\SYSTEM\mailnews.dll,Mail_RunDLL
Novo Atalho - RunDLL32 AppWiz.Cpl,NewLinkHere %1
Mouse - Rundll32.exe shell32.dll,Control_RunDLL main.cpl @0
Teclado - Rundll32.exe shell32.dll,Control_RunDLL main.cpl @1
Impressoras - Rundll32.exe shell32.dll,Control_RunDLL main.cpl @2
Fontes - Rundll32.exe shell32.dll,Control_RunDLL main.cpl @3
Instalar/Desinstalar - rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,1
Instalacao Windows - rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,2
Startup Disk - rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,3
Configuracoes Avancadas do IE - rundll32.exe shell32.dll,Control_RunDLL inetcpl.cpl,,5
Adicionar Novo Hardware (9x) - rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl @1
Adicionar Impressora (9x) - rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL AddPrinter
Conectar Impressora Rede - rundll32 printui,PrintUIEntry /in /n \\server\printer_name
Desligar Computador - rundll.exe user.exe,exitwindows
Protetor Tela - rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,1
Instalar Protetor de Tela - rundll32.exe desk.cpl,InstallScreenSaver "File"
Data/Hora - Rundll32.exe shell32.dll,Control_RunDLL timedate.cpl

OBS: note que alguns argumentos tem %1 isso e feito especialmente para o pessoal do BATCH SCRIPT, etc..., se quiser outras funcoes pesquise sobre a API do WIndows e Rundll32.exe

Final
Bom pessoal, espero ter passado algo util para vcs, flws ae!!!
Why use Windows? If I have the door ;-)

darknesshack

Anakim,

Bom sempre me interessei bastante por arquivos vitais para o funcionamento do windows para saber como funciona mesmo entendi sua explicação de exelente qualidade! tenho dúvidas como não tenho muita experiência com progamação algumas vezes o windows procede alguns erros de RunDll32 (esvaziamento da pilha e talz..) você ou alguém que tenha experiência poderia nos explicar o faz com que esses erros aconteçam?? Fico Grato!
Para seguir o trajeto,olhe ao mestre,siga o mestre,caminhe com o mestre,veja através do mestre,torne-se o mestre.

Anonymous

aeeeeeeee anakim fico legal pakas essa explicaçao em velho parabems :D !

anakim

brigadu ae Oracle, quanto ao seu problema darkness, tem um serie de fatores q pode causar esses problemas, geralmente quando um programa acessa diretamente ou indiretamente atraves da DLL o espaco de memoria reservado de outro programa, ocorre o GPF (General Protection Fail) , existem outros, + o + conhecido e esse, esse erro geralmente e dificil de resolver, entao se ficar acontecendo direto issu proponho a identificar qual programa esta causando e remove-lo imediatamente, flws!!!
Why use Windows? If I have the door ;-)

darknesshack

Para seguir o trajeto,olhe ao mestre,siga o mestre,caminhe com o mestre,veja através do mestre,torne-se o mestre.

locator.dll

Está de parabéns Anakim..

Boa informação..

vlw

locator.dll

anakim

Why use Windows? If I have the door ;-)

OnlyOne

No céu toca Joy Division


Anonymous

@Anakin

Post Louvavel .. Inclusive complementando que a RunDll Carrega Outras libs ( Qualquer )
Um bom exemplo de Uso + Utel seria :

Carregar a ICMP.DLL hehe que está no system ela é responsavel por trafeco de protocolo ICMP ( Ping ^^ )
causando assim um certo "Alvoroço" no sistema se o cara souber utilizar as funções

SendEchoIcmp () // Só um exemplo isso serio o mesmo que Pingar ^^
Só que usando a Api

Lembrando que é preciso passar os devidos parametros e no caso a ICMP é bem complexa pois você precisa passar a latência da rede etc.. a quantidade de pacotes..

mais está ai uma dica de dll pra Aprender a usar !!

Flw...

anakim

brigadu eduardo, apesar de eu responder nesse exato momento na net do vizinhu, estou acompanhando o forum, ae para todos q usarem Rundll32.exe existe milhares de funcoes disponiveis em DLL, entao aproveitem o uso nativo de funcoes do windows para ajuda-los, flws ae !!!
Why use Windows? If I have the door ;-)

lcs

Esse rundll32.exe é parte do codigo do windows ou nada a ver..
Pra que viver sem sentido.

Anonymous

Não que seja parte de código ..

ela é simplesmente um software dentro do S.O q você pode evocar/alocar/desalocar DLL e utilizar suas funções sem usar uma linguagem de programação para fazer o intermedio so isso :)