Visual Basic - Ayuda con un thread!!!

Life is soft - evento anual de software empresarial
 
Vista:

Ayuda con un thread!!!

Publicado por Jaime Martinez (1 intervención) el 29/08/2008 06:13:30
Hola a todos,
soy nuevo en esto de la programacion usando la api de windows y la verdad solo he visto en una clase y pues no le entiendo muy bien si alguien me puede ayudar se los agradeceria intento abrir dos programas a partir un thread pero pues no puedo ni siquiera hacer que se abra uno les paso el codigo y si alguiejn me puede ayudar de verdad estare eternamente agradecido jeje
#include <windows.h>
#include <stdio.h>
#include <tchar.h>
#include <strsafe.h>

DWORD WINAPI funcion(LPVOID lparam)
{
STARTUPINFO si;
PROCESS_INFORMATION pi;

ZeroMemory( &si, sizeof(si) );
si.cb = sizeof(si);
ZeroMemory( &pi, sizeof(pi) );

TCHAR* nombre;
nombre=(TCHAR*) lparam;
CreateProcess( nombre, // No module name (use command line)
NULL, // Command line
NULL, // Process handle not inheritable
NULL, // Thread handle not inheritable
FALSE, // Set handle inheritance to FALSE
0, // No creation flags
NULL, // Use parent's environment block
NULL, // Use parent's starting directory
&si, // Pointer to STARTUPINFO structure
&pi ); // Pointer to PROCESS_INFORMATION structure

CloseHandle( pi.hProcess );
CloseHandle( pi.hThread );
return 0;
}

int main ()
{
TCHAR* note = L"C:\WINDOWS\system32\notepad.exe";
TCHAR* calc = L"C:\WINDOWS\system32\calc.exe";
HANDLE hThread;
DWORD dwThreadId;
hThread = CreateThread(
NULL, // default security attributes
0, // use default stack size
funcion, // thread function name
calc, // argument to thread function
0, // use default creation flags
&dwThreadId);//&dw[0]); // returns the thread identifier

hThread = CreateThread(
NULL, // default security attributes
0, // use default stack size
funcion, // thread function name
note, // argument to thread function
0, // use default creation flags
&dwThreadId); // returns the thread identifier
CloseHandle (hThread);
return 0;

}


me marca el error c2664 en el ´parametro 3 de create thread
cualkier sugerencia ayuda o lo quesea sdera bienvenida
gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda con un thread!!!

Publicado por pacopaz (173 intervenciones) el 29/08/2008 19:26:40
Mi primera sugerencia es que vayas a este link:
http://www.lawebdelprogramador.com/news/new.php?id=13&texto=C/Visual%20C

La segunda, que vayas a este link:
http://msdn.microsoft.com/en-us/library/ms682453.aspx

Y por último, este:
http://msdn.microsoft.com/en-us/library/ms682516(VS.85).aspx

Espero que te sirva.

Saludos.

Curiosamente este es una pregunta de C que a algunos programadores de vb les puede llegar a interesar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con un thread!!!

Publicado por igor (633 intervenciones) el 29/08/2008 23:01:13
No es que sepa mucho de estas APIs en concreto, pero...

El tercer parámetro es por referencia, le estamos pasando la dirección de memoria de la función para que el thread la pueda invocar, con lo que deberíamos pasar &función.

No podría terminar sin indicar que este es un foro de Visual Basic 6, evidentemente estas programando en C++ con algún compilador para windows como Visual C++. Intenta dirigirte al foro adecuado para cada tema.

Además este tema es más bien una pregunta sobre API, hay un nuevo foro de API, y ya que han tenido el detalle de crearlo sería muy positivo usarlo, yo el primero.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar