Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-12-2005
Avatar de Durbed
Durbed Durbed is offline
Miembro
 
Registrado: ago 2004
Posts: 166
Poder: 20
Durbed Va por buen camino
Question ShellExecute y "c:\WINDOWS\system32\telephon.cpl"

Hola, quiero abrir las opciones de marcado de windows, lo estoy intentando mediante un shellexecute, lo raro es que si lo pongo en el ejecutar de windows (inicio->ejecutar->C:\Windows\System32\telephone.cpl), lo abre sin problemas. El shellexecute que utilizo es este:
Código Delphi [-]
ShellExecute(Handle, 'open', 'C:\Windows\System32\telephone.cpl', nil, nil, SW_SHOW);

Un saludo y gracias.
__________________
Intentando hacer algo con Delphi 7 y Firebird 1.5
Responder Con Cita
  #2  
Antiguo 20-12-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 26
delphi.com.ar Va por buen camino
Probá algo como:
Código Delphi [-]
WinExec('rundll32.exe shell32.dll,Control_RunDLL "C:\Windows\System32\telephone.cpl"', SW_SHOW);

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 20-12-2005
Avatar de OSKR
OSKR OSKR is offline
Miembro
 
Registrado: nov 2004
Ubicación: San Cristóbal/Táchira/Venezuela
Posts: 389
Poder: 20
OSKR Va por buen camino
Exclamation

Chiezen!!!!, disculpa q me entrometa en este hilo sin aportar Federico, puedes decirme algo respecto al .cpl y porq se ha de correr como parámetro del kernel (o mejor dicho.....parte del kernel)?
__________________
Los Estados Unidos parecen destinados por la Providencia para plagar la América de miserias a nombre de la libertad."
Simón Bolívar
(Carta al Coronel Inglés Patricio Cambell 05/08/1829).
Responder Con Cita
  #4  
Antiguo 20-12-2005
Avatar de Durbed
Durbed Durbed is offline
Miembro
 
Registrado: ago 2004
Posts: 166
Poder: 20
Durbed Va por buen camino
No me ha funcionado, pero tampoco me ha dado error, simplemente no ha pasado nada.

Gracias.
__________________
Intentando hacer algo con Delphi 7 y Firebird 1.5
Responder Con Cita
  #5  
Antiguo 20-12-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,


Cita:
Empezado por Durbed
No me ha funcionado, pero tampoco me ha dado error, simplemente no ha pasado nada.
Lo que pasa es que no estás usando la ruta correcta: no es "telephone.cpl", sino "telephon.cpl". Si lo miras verás que el archivo "telephone.cpl" no existe en el directorio "System32" y sí existe "telephon.cpl".
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #6  
Antiguo 20-12-2005
Avatar de Durbed
Durbed Durbed is offline
Miembro
 
Registrado: ago 2004
Posts: 166
Poder: 20
Durbed Va por buen camino
Muchas gracias a los dos, ya funciona perfectamente, esa es la tipica chorrada que te tiene liado media tarde XD

Un saludo y gracias de nuevo
__________________
Intentando hacer algo con Delphi 7 y Firebird 1.5
Responder Con Cita
  #7  
Antiguo 20-12-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 26
delphi.com.ar Va por buen camino
Cita:
Empezado por OSKR
Chiezen!!!!, disculpa q me entrometa en este hilo sin aportar Federico, puedes decirme algo respecto al .cpl y porq se ha de correr como parámetro del kernel (o mejor dicho.....parte del kernel)?
¿Cómo parámetro del Kernel?.... Todos los procesos son objetos del Kernel!
RunDll o RunDll32 simplemente sirven para llamar a funciones exportadas por DLL´s:
Código:
RUNDLL.EXE Archivo.dll,Función Parámetro1, Parámetro2, Parámetro3
Y en este caso estamos llamando a Control_RunDLL de la librería Shell32.dll, cosa que podríamos escribir 100% en Delphi:
Código Delphi [-]
{ Declaración }
procedure Control_RunDLL(hWnd: HWND; hInst: HINST; cmd: LPCSTR; nCmdShow: DWORD); stdcall; external 'Shell32.dll';
...
{ Implementación }
begin
  Control_RunDLL(Handle, hInstance, 'telephon.cpl', SW_SHOW);
end;

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #8  
Antiguo 20-12-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 26
delphi.com.ar Va por buen camino
La escribí y no la voy a dejar de subir
Código Delphi [-]
type
  TControl_RunDLL = procedure(hWnd: HWND; hInst: HINST; cmd: LPCSTR; nCmdShow: DWORD); stdcall;
var
  hMod: HMODULE;
  Control_RunDLL: TControl_RunDll;
begin
  hMod := LoadLibrary('Shell32.dll');
  if hMod > 0 then
    try
      @Control_RunDLL := GetProcAddress(hMod, 'Control_RunDLL');
      if @Control_RunDLL <> nil then
        Control_RunDLL(Handle, hInstance, 'telephon.cpl', SW_SHOW);
    finally
      FreeLibrary(hMod);
    end
  else
    RaiseLastOsError;
end;

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 03:29:17.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi