Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-02-2020
Gregorio Cíber Gregorio Cíber is offline
Miembro
 
Registrado: jun 2008
Posts: 98
Poder: 16
Gregorio Cíber Va por buen camino
Problemas con ShellExecute

Hola amigos.
Tengo una vieja aplicación creada con Delphi6 funcionado correctamente.
Hace un tiempo tuve que modificarla e instale el compilador bajo Windows 10 y, con esfuerzos, logré poder compilar. Todo lo modificado funciona a excepción de una llamada al teclado virtual. Os pongo las distintas opciones que he probado a ver qué os parece:

Con osk.exe en C:\Windows\System32 la función ShellExecute devuelve 2, o sea, no lo encuentra.
Código Delphi [-]
ShellExecute (0, 'Open', 'osk.exe', '', '', SW_SHOWNORMAL); 
ShellExecute (Handle, 'Open', 'osk.exe', '', '', SW_SHOWNORMAL); 
ShellExecute (0, 'Open', 'osk.exe', '', 'C:\Windows\System32', SW_SHOWNORMAL); 
ShellExecute (Handle, 'Open', 'osk.exe', '', 'C:\Windows\System32', SW_SHOWNORMAL);
Lo mismo ocurre si utilizo PChar

Si copio osk.exe en la carpeta de la aplicación, la función SellExecute devuelve 43, es decir, lo encuentra pero no lo pone en pantalla.

¿Alguna idea?

Gracias.

Última edición por Casimiro Notevi fecha: 29-02-2020 a las 12:12:49.
Responder Con Cita
  #2  
Antiguo 01-03-2020
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Intenta de este modo:
Código Delphi [-]
...
implementation

uses Registry, ShellApi;

// Verifica si la clave existe, si no la crea
procedure EnableAutoInvoke;
var
  R: TRegistry;
begin
  R := TRegistry.Create;
  try
    R.RootKey := HKEY_CURRENT_USER;
    R.OpenKey('Software\Microsoft\TabletTip\1.7', True);
    R.WriteInteger('EnableDesktopModeAutoInvoke', 1);
    R.CloseKey;
  finally
    R.Free;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  EnableAutoInvoke;  // Nesesario sólo una vez (o ninguna)
  ShellExecute(0,
               'runas',
               'C:\Program Files\Common Files\microsoft shared\ink\tabtip.exe',
               '',
               '',
               SW_SHOWNORMAL);
end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 01-03-2020
Gregorio Cíber Gregorio Cíber is offline
Miembro
 
Registrado: jun 2008
Posts: 98
Poder: 16
Gregorio Cíber Va por buen camino
Gracias ecfisa. Voy a probarlo. LLevo horas luchando con esto y creo que no hay manera. El problema está en el direccionamiento que hace W10 64 bits a los programas de 32bits. Así que como este tema no lo domino, veo solución posible. De todas formas ahora mismo pruebo el código que aporteas y reportaré el resultado.


Muchas gracias.
Responder Con Cita
  #4  
Antiguo 02-03-2020
Gregorio Cíber Gregorio Cíber is offline
Miembro
 
Registrado: jun 2008
Posts: 98
Poder: 16
Gregorio Cíber Va por buen camino
No funciona. He decidido no perder más el tiempo con los caprichos del Sr. Puerta. Así que me he descargado un teclado virtual libre y funciona perfecto. Gracias a todos.
Responder Con Cita
  #5  
Antiguo 02-03-2020
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Que extraño, lo hace perfecto en mi máquina con Windows 10 Home y Delphi 10.3. Alguna actualización tal vez...

Pero bueno, si ya yo lo solucionaste con una herramienta de tercero mejor . Como ya lo dijiste, ese señor es muy caprichoso

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
Respuesta



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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problemas con ShellExecute en XE10 darkamerico API de Windows 1 05-04-2016 20:03:56
Problemas con shellexecute Waldo API de Windows 1 28-12-2013 17:47:55
Problemas con ShellExecute ninguno C++ Builder 3 08-09-2008 20:45:38
Problemas con ShellExecute ZayDun Varios 4 27-03-2008 22:33:47
Problemas con ShellExecute: lalo Varios 2 18-03-2005 15:04:52


La franja horaria es GMT +2. Ahora son las 23:51:04.


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