Programación General > Visual C++
usar api windows con visual c++ 2008 .net
rfog:
Muchos errores estás cometiendo, muchos.
El primero es que estás usando cadenas ANSI cuando tienen que ser UNICODE (lee aquí un hilo no muy lejano en el que hablo del tema).
El segundo es que estás sobreescribiendo memoria. Esos strcpy no valen: tienes que crearte tu cadena y apuntar a ella con el puntero de la estructura.
El tercero, te falta añadir sellapi.lib en las opciones del enlazador.
El cuarto, no necesitas declarar un puntero a la estructura, anque como lo haces vale, pero no te olvides luego de liberarla con delete.
killerghosts:
muchas gracias por tu ayuda ya lo consegui hice lo que me dijiste y el codigo con el que lo consegui es el siguiente
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)
{
WCHAR modo[]=L"open";
WCHAR fichero[]=L"notepad.exe";
ShellExecute(hand,modo,fichero,NULL,NULL,SW_SHOWNORMAL);
}
hand es una variable global tipo HWND, ahora y como no me conformo he puesto otro boton y lo que quiero es cerrar ese proceso que he abierto, y he decidido utilizar la funcion del api sendmessage pero ahora me da otro error me da el siguiente error,
>c:documents and settingsmsa1mis documentosvisual studio 2008projectsshellexecshellexecForm1.h(128) : error C2661: 'System::Windows::Forms::Control::SendMessage' : ninguna función sobrecargada acepta 4 argumentos
lo que me llama la atencion es que yo se que la funcion del api acepta 4 parametros pero el compilador me hace referencia a la funcion sendmessage de
"System::Windows::Forms::Control::SendMessage" las librerias donde se hace referencia a esta funcion son winuser.h y la biblicoteca user32.lib he añadido en el enlazador dicha referencia a esa biblioteca y puesto un include con winuser.h pero me da ese error, si me pudieras hechar una mano te lo agradeceria gracias
killerghosts:
ya lo solucione en vez de utilizar la funcion sendmessage utilice sendmessageW y ya ta gracias por tu ayuda
Navegación
[*] Página Anterior
Ir a la versión completa