Seite 1 von 1

Linux - Windows Migration problem mit pid() von QProcess

Verfasst: 5. November 2008 08:49
von Sambalmueslie
Hallo,
ich habe folgenden Codeauszug:

Code: Alles auswählen

QTableWidgetItem *pidItem = new QTableWidgetItem(tr("pid:  %1").arg(myProcess->pid()));
jetzt hab ich das problem dass pid() unter Windows einen Zeiger vom Typ
_PROCESS_INFORMATION zurück gibt und unter Linux einen Integer.
Kann ich das _PROCESS_INFORMATION irgendwie in einen Integer converieren?
Ich hab leider keine Ahnung, was sich für ein Datentyp dahinter verbirgt.

Gruß Oli

Verfasst: 5. November 2008 08:51
von Christian81
Google bedienen ist heute wohl noch zu schwer :)
http://msdn.microsoft.com/en-us/library ... S.85).aspx

Verfasst: 5. November 2008 09:03
von Sambalmueslie
Christian81 hat geschrieben:Google bedienen ist heute wohl noch zu schwer :)
SCheinbar schon :D.. dachte dass das was mit QT zu tun hat :)

Danke

Verfasst: 5. November 2008 09:29
von Sambalmueslie
Jetzt hab ich noch ne Frage.
Ich hab das jetzt mal umgebaut nach:

Code: Alles auswählen

	// WINDOWS
	_PROCESS_INFORMATION* pInfo = myProcess->pid();
	int pid = (int)(*pInfo).dwProcessId;
	QTableWidgetItem *pidItem = new QTableWidgetItem(tr("pid:  %1").arg(pid));
und bekomme jetzt den Fehler
mainwindow.cpp: In member function `void MainWindow::startProcess(int)':
mainwindow.cpp:648: error: invalid use of undefined type `struct PROCESS_INFORMATION'
../../../../Qt/4.4.3/include/QtCore/../../src/corelib/io/qprocess.h:56: error: forward declaration of `struct _PROCESS_INFORMATION'
Habs auch mal mit

Code: Alles auswählen

Q_PID pInfo = myProcess->pid();
probiert aber auch ohne Erfolg.
Ich kann doch jetzt nicht anfangen in den QT-Includes rumzubasteln??
Oder denke ich da gerade ein eine völlig falsche Richtung?

Gruß Oli

Verfasst: 5. November 2008 10:16
von Christian81
Muss wieder auf die msdn-Doku verweisen - bis unten:

Code: Alles auswählen

Header	Winbase.h (include Windows.h)

Verfasst: 7. November 2008 11:41
von Sambalmueslie
Hm compilieren hat funktioniert danke :) .. aber Prog läuft nicht wirklich.

Werde mal ne VM aufsetzen und das ganze unter Linux probieren.

Gruß Oli