Вход на сайт
Как вызвать метод процесса в C#?
1314 просмотров
Перейти к просмотру всей ветки
в ответ Murr 09.05.08 01:31
Привет всем еще раз!
Как говорил ранее v тему не закрыл еще.
Попытался провести тест вот такой
Сделал приложение на С++ которое вызываю из нашего приложения .NET и привызове передаю ему Handle короче вот наше
private void button3_Click(object sender, EventArgs e)
{
Process.Start(@"C:\CA123A.exe", " " + this.Handle.ToString());
}
protected override void WndProc(ref Message m)
{
base.WndProc(ref m);
if (m.Msg == 123)
{
bool b = true;
}
}
А вот на C++
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
int nRetCode = 0;
// MFC initialisieren und drucken. Bei Fehlschlag Fehlermeldung aufrufen.
if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
{
// TODO: Den Fehlercode an Ihre Anforderungen anpassen.
_tprintf(_T("Schwerwiegender Fehler bei der MFC-Initialisierung\n"));
nRetCode = 1;
}
else
{
//Пытаюсь послать сообщение нашему приложению
HWND hw = (HWND)(argv[1]);
SendMessageW(hw, 123, 1567,1);
}
return nRetCode;
}
Но вот почемуто в WndProc в нашем приложении этот Message не обрабатывается
В чем проблема????
Зараннее благодарен за помощь
С уважением HMr
Как говорил ранее v тему не закрыл еще.
Попытался провести тест вот такой
Сделал приложение на С++ которое вызываю из нашего приложения .NET и привызове передаю ему Handle короче вот наше
private void button3_Click(object sender, EventArgs e)
{
Process.Start(@"C:\CA123A.exe", " " + this.Handle.ToString());
}
protected override void WndProc(ref Message m)
{
base.WndProc(ref m);
if (m.Msg == 123)
{
bool b = true;
}
}
А вот на C++
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
int nRetCode = 0;
// MFC initialisieren und drucken. Bei Fehlschlag Fehlermeldung aufrufen.
if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
{
// TODO: Den Fehlercode an Ihre Anforderungen anpassen.
_tprintf(_T("Schwerwiegender Fehler bei der MFC-Initialisierung\n"));
nRetCode = 1;
}
else
{
//Пытаюсь послать сообщение нашему приложению
HWND hw = (HWND)(argv[1]);
SendMessageW(hw, 123, 1567,1);
}
return nRetCode;
}
Но вот почемуто в WndProc в нашем приложении этот Message не обрабатывается
В чем проблема????
Зараннее благодарен за помощь
С уважением HMr