Jag vill ta en skärmdump av enbart det aktiva fönstret. Det aktiva fönstret är inte det programmet som kör koden för det ligger bara i bakgrunden. Har hittat ett flertal exempel på hur man tar en skärmdump av hela skärmbilden men det verkar inte vara någon som vet hur man bara får tag i det aktiva fönstret då jag skökt efter det i snart en mån. Hej. Tackar för ett bra svar. Men eftersom jag är så ny på detta med C# skulle jag bli glad om du konde göra det i en ConsoleAplication ist. och visa koden för hr du gör. Hej. Ok tackar detta kommer att bli perfekt. En liten tilläggsfråga bara. Hur gör jag för att plocka ut färgerna i bilden, pixel för pixel i vissa orråden och sedan lägga in dem i en array?? jag svarade ju på det innan... i [Lätt fråga om C#] När jag tar och skapar en textBox i formuläret skapas denna i koden:Snälla HJÄLP
Hoppas någon här kan hjälpa migSv: Snälla HJÄLP
Kolla mitt uppskick:
Programarkivet:Skapa skärmdump av aktivt program C#
Billigt, men det fungerar...
//freddaSv: Snälla HJÄLP
Hoppas jag inte är jobbig ;)
MVH Henrik LarssonSv: Snälla HJÄLP
En consoleapp skulle inte bli så bra tror jag...
Men här kommer iallafall en kommenterad snutt som beskriver koden:
<code>
// Deklarerar en extern resurs
[DllImport("user32.dll")]
public static extern int SetForegroundWindow(int hwnd);
private void DoPrint()
{
// Hämtar alla "notepadinstanser"
Process[] p = Process.GetProcessesByName("notepad");
// Om den finns minst en...
if (p.Length > 0)
{
// Använder funktionen "SetForegroundWindow" i user32.dll
// för att sätta fokus på den första intstansen i arrayen
SetForegroundWindow(p[0].MainWindowHandle.ToInt32());
// Ett simulerat tryck på "Print Screen"
SendKeys.SendWait("{PRTSC}");
// Hämtar det som finns i Clipboard (minnet)
Bitmap bmp = (Bitmap)Clipboard.GetDataObject().GetData("Bitmap");
// Om det fanns en bild i minnet...
if (bmp != null)
{
try
{
// Visa bilden i en picbox
pictureBox1.Image = bmp;
// Sätt fokus till detta formuläret
this.Focus();
}
catch (Exception exe)
}
// Om något går fel
MessageBox.Show(exe.ToString());
}
}
}
}
</code>
Hoppas det klarnar lite :-)
// freddaSv: Snälla HJÄLP
Går det?
MVH Henrik LarssonSv: Snälla HJÄLP
<code>
Bitmap bmp=new Bitmap(filnamn);
Color pxl=bmp.GetPixel(x,y);
</code>Sv: Snälla HJÄLP
<code>
private void Form1_Load(object sender, System.EventArgs e)
{
}
</code>
Kan man få bort det på något sätt för jag ska ju inte använda denna.
MVH Henrik Larsson