0 👍
1.4K lượt xem
bởi
code
IntPtr hwid = IntPtr.Zero;
hwid = AutoControl.FindWindowHandle(null, "jorijt");
var screen = CaptureHelper.CaptureWindow(hwid);
screen.Save("mainScreen.PNG");'

image
bởi (🏅169)
Hình ở trên là kết quả app của bạn à ? Full màn hình nox như bạn muốn là như thế nào, cung cấp thêm cái ảnh minh họa được ko ?
bởi
hình trên là code của mình chụp. mình muốn chụp full app

1 Câu trả lời

0 👍
bởi (🏅169)
Mình không code C# nhưng có tìm hiểu qua thì theo phán đoán của mình thì sau khi bạn lấy được handle của Window rồi bạn thử show maximized window rồi mới chụp màn hình xem.

Để show được window miximized thì dùng hàm ShowScreen của user32.dll
public enum ShowWindowCommands : int
{
	Hide = 0,
	Normal = 1,
	ShowMinimized = 2,
	ShowMaximized = 3,
	ShowNoActivate = 4,
	Show = 5,
	Minimize = 6,
	ShowMinNoActive = 7,
	ShowNA = 8,
	Restore = 9,
	ShowDefault = 10,
	ForceMinimize = 11
}

[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool ShowWindow(IntPtr hWnd, ShowWindowCommands nCmdShow);
Code của bạn sẽ trông như sau --> 
IntPtr hwid = IntPtr.Zero;
hwid = AutoControl.FindWindowHandle(null, "jorijt");
if (hwid != IntPtr.Zero)
{
	ShowWindow(hwid, ShowWindowCommands.ShowMaximized);
	System.Threading.Thread.Sleep(1000); // delay 1 second, wait for window maximized
	var screen = CaptureHelper.CaptureWindow(hwid);
	screen.Save("mainScreen.PNG");
}
else
{
	Debug.WriteLine("Get Window Handle fail");
}
Coding Guru là nơi dành cho cộng đồng lập trình viên Việt Nam hỗ trợ nhau về tất cả các vấn đề liên quan đến công nghệ.

Chúng ta hãy cùng nhau xây dựng một cộng đồng công nghệ Việt Nam mạnh mẽ, thúc đẩy và giúp đỡ nhau cùng phát triển, thăng tiến trong sự nghiệp.

***
Nơi đam mê hội tụ
***

Một số câu hỏi gần đây có thể tương tự hoặc liên quan ↓

...