[C con Clase] consulta sobre argumentos/parametros

David fire ddfire en gmail.com
Dom Jul 27 04:57:48 CEST 2008


hola
gracias por la respuesta.
ahora estoy trabajando con esto.
por algun motivo no me deja acceder a las variables.
ahora ya estoy con canas verdes y muy cansado pero mañana sigo y te cuento.
gracias
David

El 26 de julio de 2008 3:02, Steven Davidson<srd4121 en njit.edu>escribió:

> Hola David,
>
> David fire wrote:
> > gracias por la respuesta es para win32 para linux es mil veces mas
> > facil. para windows XP y windows vista hay algun modo de conseguir
> > los argumentos sin inyectar codigo algo menos "hacking"?
>
> Supongo que con "argumentos" te refieres a la cadena de caracteres que
> se puede pasar a modo de opciones de configuración a un fichero
> ejecutable. Típicamente, estos argumentos se pueden recoger desde 'main()'.
>
> Bajo el API de MS-Windows, podemos usar 'GetCommandLine()', pero claro
> está esta función sólo nos sirve si se invoca desde el proceso que
> queremos. Como estamos en otro proceso, la función anterior no nos sirve.
>
> La solución que he encontrado es usando la función
> 'NtQueryInformationProcess()' que está en "ntdll.dll". Según la
> documentación, esta función no tiene biblioteca de importación y por
> tanto aconseja obtenerla explícitamente usando 'LoadLibrary()' y
> 'GetProcAddress()'. El prototipo es:
>
> NTSTATUS WINAPI NtQueryInformationProcess(
>   HANDLE ProcessHandle,
>   PROCESSINFOCLASS ProcessInformationClass,
>   PVOID ProcessInformation,
>   ULONG ProcessInformationLength,
>   PULONG ReturnLength
> );
>
> Puedes consultar la documentación en MSDN yendo a:
> http://msdn.microsoft.com/en-us/library/ms684280(VS.85).aspx<http://msdn.microsoft.com/en-us/library/ms684280%28VS.85%29.aspx>
>
> La información que nos interesa es la estructura que obtendremos en
> 'ProcessInformation' que se llama 'PROCESS_BASIC_INFORMATION'. Dentro de
> esta estructura hay otra del tipo 'PPEB' que es un puntero a 'PEB'. Esta
> estructura contendrá bastante información. Dentro de esta estructura
> encontrarás otra estructura del tipo 'RTL_USER_PROCESS_PARAMETERS'. Aquí
> obtendrás la información que requieres en el campo 'CommandLine'.
>
>
> Sinceramente, no lo he comprobado, pero espero que esto te oriente en la
> dirección correcta.
>
> Steven
>
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>



-- 
(\__/)
(='.'=)This is Bunny. Copy and paste bunny into your
(")_(")signature to help him gain world domination.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20080726/85889ace/attachment.html>


Más información sobre la lista de distribución Cconclase