Det är något program som periodvis startar ett lika snabbt försvinnande svart kommandofönster och tar bort fokuset och helskärmen från mitt spel, så jag tänkte skriva ett program som loggar vilket program som är aktivt, namnet på det, sökvägen osv. Jag tror inte att Windows har en hook för när fokus eller aktivt program ändras (?) men man kanske kan kolla 100 ggr/sek eller liknande.
I alla fall vill jag inte skriva det i ett scriptspråk utan tänkte att jag skulle sätta mig in i Windows API ordentligt, fast det verkar som en jungel. Jag låter bli C99 eftersom Visual Studio inte stödjer det helt, om ens gcc gör det fullt ut, men har lite andra frågor:
* Vilket API ska man lära sig och använda? Tråkigt om man behöver köra programmet i kompatibilitetsläge. Är det .NET som gäller och i så fall vilken version? Är de helt bakåtkompatibla med varandra?
* Hur undviker man beroende av DLL-filer? Jag brukar ibland stöta på program som inte startar för att någon obskyr DLL saknas. Räcker det med att kompilera statiskt? Visst finns det en särskild DLL, MSnågonting.DLL som alla Windowsprogram behöver, kan man räkna med att den finns på alla system?
* Vilka saker ska man tänka på om man släpper programmet som källkod istället för en EXE? Någon #pragma som man måste ha, någon särskild funktion, någon #include? WinMain() behövs inte för konsollapplikationer eller?
Finns det en bra bok eller sida som tar upp det här utan att lära ut språket C samtidigt?
I alla fall vill jag inte skriva det i ett scriptspråk utan tänkte att jag skulle sätta mig in i Windows API ordentligt, fast det verkar som en jungel. Jag låter bli C99 eftersom Visual Studio inte stödjer det helt, om ens gcc gör det fullt ut, men har lite andra frågor:
* Vilket API ska man lära sig och använda? Tråkigt om man behöver köra programmet i kompatibilitetsläge. Är det .NET som gäller och i så fall vilken version? Är de helt bakåtkompatibla med varandra?
* Hur undviker man beroende av DLL-filer? Jag brukar ibland stöta på program som inte startar för att någon obskyr DLL saknas. Räcker det med att kompilera statiskt? Visst finns det en särskild DLL, MSnågonting.DLL som alla Windowsprogram behöver, kan man räkna med att den finns på alla system?
* Vilka saker ska man tänka på om man släpper programmet som källkod istället för en EXE? Någon #pragma som man måste ha, någon särskild funktion, någon #include? WinMain() behövs inte för konsollapplikationer eller?
Finns det en bra bok eller sida som tar upp det här utan att lära ut språket C samtidigt?