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 02-03-2020
DenisDiaz DenisDiaz is offline
Miembro
 
Registrado: feb 2007
Posts: 55
Poder: 18
DenisDiaz Va por buen camino
Problema con ShellExecute

Hola a todos.
Tengo un problema con esa función. Hay un archivo .BAT que si lo ejecuto manualmente funciona bien, pero si lo ejecuto desde la aplicación me da el error "No se encuentra el archivo de comandos ...getadmin.vbs", entonces supongo que sea problema de la forma como lo ejecuto pero no veo qué cambiar, el código para ejecutarlo que uso es este:
Código Delphi [-]
ShellExecute(GetActiveWindow(), 'open', ruta, nil, nil, SW_NORMAL);

y el archivo .bat contiene lo siguiente:

Código:
@echo off
IF "%PROCESSOR_ARCHITECTURE%" EQU "amd64" (
>nul 2>&1 "%SYSTEMROOT%\SysWOW64\cacls.exe" "%SYSTEMROOT%\SysWOW64\config\system"
) ELSE (
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
)
if '%errorlevel%' NEQ '0' (
echo Solicitando permisos de administrador... Requesting administrative privileges... Anfordern Administratorrechte ...
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
set params = %*:"=""
echo UAC.ShellExecute "cmd.exe", "/c ""%~s0"" %params%", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
del "%temp%\getadmin.vbs"
exit /B
:gotAdmin
pushd "%CD%"
CD /D "%~dp0"
REM mas otro codigo especifico
Con ese .BAT lo que intento es ejecutar como administrador unos comandos para eliminar unos archivos que están en C.
Muchas gracias.
Responder Con Cita
  #2  
Antiguo 03-03-2020
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Prueba a ejecutarlo de esta manera:


Código Delphi [-]
ShellExecute (0, 'open', PChar('c:\Directorio\FicheroBAT.bat'), nil, PChar('c:\Directorio\'), SW_NORMAL)
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 03-03-2020
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 20
movorack Va camino a la famamovorack Va camino a la fama
El programa lo ejecutas manualmente o lo ejecuta alguna tarea programada o servicio?

Prueba a cambiar el 'open' por 'runas'
Código Delphi [-]
ShellExecute (0, 'runas', PChar('c:\Directorio\FicheroBAT.bat'), nil, PChar('c:\Directorio\'), SW_NORMAL)
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
  #4  
Antiguo 03-03-2020
DenisDiaz DenisDiaz is offline
Miembro
 
Registrado: feb 2007
Posts: 55
Poder: 18
DenisDiaz Va por buen camino
Muchas gracias a todas las respuestas.
De momento parece que me funciona con el ajuste poniendo "RUNAS".
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
Problema con ShellExecute jmgc1982 C++ Builder 2 04-06-2008 12:48:43
Problema con ShellExecute Angel Vicente API de Windows 3 02-06-2008 11:34:07
Problema con ShellExecute() kagua77 C++ Builder 3 17-04-2008 01:19:00
Problema con shellexecute ebeltete API de Windows 4 21-10-2006 00:23:12
Problema con ShellExecute hector_etv Varios 1 07-08-2005 04:11:47


La franja horaria es GMT +2. Ahora son las 18:08:07.


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