Programmieren mit Qt oder Visual Studio 2010 Express unter Windows
- Installiere die mingw Version
- Lege das Verzeichnis D:\sgi_projekt\Qt\01_hallowelt an
- Schreibe den Quelltext in main.cpp
- Rufe über das Startmenü den Qt Command Promt auf (bzw übergib dem Command Promt die Umgebungsvariablen, sofern sie nicht im PATH gespeichert sind C:\WINDOWS\system32\cmd.exe /K C:\Qt\2009.05\bin\qtenv.bat)
- D:\sgi_projekt\Qt\01_hallowelt
- cd qmake -project
- qmake
- mingw32-make release
- Kopiere die DLLs aus C:\Qt\2009.05\qt\bin nach C:\WINDOWS\system
- Starte 01_hallowelt.exe
#include <QApplication>
#include <QPushButton>
int main (int argc, char *argv[]){
QApplication app(argc, argv);
QPushButton hello("Hallo Welt");
hello.resize(100,30);
hello.show();
return app.exec();
}
UAC (User Account Control - Benutzerkontensteuerung)
Frage: Wie kann man erreichen, daß unter Win7 ein Admin ein Programm mit Adminrechten startet?
Antwort: Binde an die exe ein Manifest mit <requestedExecutionLevel level="asInvoker" uiAccess="false" /> an
So legen Sie diese Linkeroption in der Visual Studio-Entwicklungsumgebung fest
- Öffnen Sie das Dialogfeld Eigenschaftenseiten des Projekts. Rechtsklick-Eigenschaften
- Erweitern Sie den Knoten Konfigurationseigenschaften.
- Erweitern Sie den Knoten Linker.
- Wählen Sie die Eigenschaftenseite Manifestdatei aus.
- Ändern Sie die Eigenschaften Benutzerkontensteuerung aktivieren (UAC), UAC-Ausführungsebene und Schutz vor Umgehen der Benutzeroberfläche für die Benutzerkontensteuerung.
http://www.thomaslutz.de/2010/06/12/datei-offnen-sicherheitswarnung-deaktivieren/
http://iefaq.info/index.php?action=artikel&artlang=de&cat=39&id=92
http://de.wikipedia.org/wiki/Benutzerkontensteuerung
http://www.qtcentre.org/threads/46917-How-to-run-application-in-qt-as-administrator
https://www.google.de/search?q=qt+c%2B%2B+shellexecute+runas
http://www.codeproject.com/Articles/17968/Making-Your-Application-UAC-Aware
http://stackoverflow.com/questions/12278729/qt-on-windows-setting-privilege-level-to-requireadministrator
http://qt-project.org/forums/viewthread/17515
http://www.qtcentre.org/threads/29107-win32-how-to-modify-the-manifest-with-qmake
AES (Attachment Execution Services)
Frage: Wie kann ich die Meldung "Der Herausgeber konnte nicht verifiziert werden" umgehen?Antwort:
http://www.wintotal.de/tipparchiv/?id=1024
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
System, ShellExecute, Process.Start()
http://stackoverflow.com/questions/9303660/system-vs-shellexecute-differences
http://www.qtcentre.org/threads/30066-Using-ShellExecute
Qt
http://qt-project.org/doc/qt-4.8/gettingstartedqt.html
VC2010
http://www.qtforum.de/forum/viewtopic.php?f=15&t=15229
http://www.utd.hs-rm.de/prof/kuveler/students/mct/anleitung_visual_cpp.pdf
http://technozeal.wordpress.com/2011/01/19/writing-and-compiling-c-program-using-microsoft-visual-c-2010-express-edition/
http://qt-project.org/forums/viewthread/7070
http://www.wisegai.com/2012/10/24/creating-a-guiinterface-using-visual-studio-2010-and-qt/
C/C++ Dienst erstellen
http://www.muukka.net/programming/service/Mit VC2010 ein neues Konsolenprojekt erstellen, eine Quelldatei myDienst.cpp per Rechtsklick auf Quelldateien hinzufügen, den Inhalt von http://www.muukka.net/programming/service/Beeper%20Service.cpp pasten und mit F5 als Release Version compilieren.
Dienst installieren
C:\>sc create "myDienst" binPath= "D:\sgi_projekt\Visual Studio 2010\Projects\myDienst\Release\myDienst.exe"
Dienst deinstallieren
C:\>sc delete "myDienst"
Dienst starten und stoppen über die Systemsteuerung-Verwaltung-Dienste oder
C:\>sc start "myDienst"
C:\>sc stop "myDienst"
type= own type= interact über den Eigenschaftendialog oder als Parameter.
To install a service, you can use the sc utility. The steps are:
Where MathsService is the name of the service, the argument to binPath is the binary location and DisplayName argument is the name that shows on services.msc. The argument to start can be boot (not suitable for a service), system (not suitable for a service), auto (autostart), demand (on demand start, you have to start your service manually) or disabled (service will not start even manually).
In this example, i use type= own type= interact. This allows the service to interact with the desktop (for TCP/IP communications, for example).
Complete reference of sc sintaxis is available running sc. Also check http://support.microsoft.com/kb/251192
- Copy the executable and all its dependencies into a directory (
%SYSTEMROOT%\System32
is perfectly valid). - Run as administrator of the computer the command:
sc create MathsService binPath= %SYSTEMROOT%\System32\Maths.exe
type= own type= interact start= demand DisplayName= "My fabulous Maths
service"
Where MathsService is the name of the service, the argument to binPath is the binary location and DisplayName argument is the name that shows on services.msc. The argument to start can be boot (not suitable for a service), system (not suitable for a service), auto (autostart), demand (on demand start, you have to start your service manually) or disabled (service will not start even manually).
In this example, i use type= own type= interact. This allows the service to interact with the desktop (for TCP/IP communications, for example).
Complete reference of sc sintaxis is available running sc. Also check http://support.microsoft.com/kb/251192
Dienst installieren unter Win7
Man benbötigt eine Kommandozeile mit Adminrechten und ggf. das Administrator-Login.
Es empfiehlt sich daher, bei häufigem Gebrauch von "cmd", sich eine Verknüpfung zu erstellen und in den Eigenschaften der Verknüpfung einzustellen, dass das Programm als Administrator ausgeführt werden soll.
Alternativ: Im Suchfeld "cmd" eingeben, STRG+Shift gedrückt halten und Enter drücken - dadurch wird die Kommandozeile im Admin-Modus gestartet.
net user Administrator /active zum einloggen als Admin.