2011-06-07 58 views
1

我正在使用GetPixel從某個窗口(更具體地說,一個撲克桌)讀取像素。什麼可以防止GetPixel工作?

現在,當然,在我的電腦上,只有其他PC的95%左右,這一切都會起作用。但是現在,有一臺PC無法使用 - GetPixel返回CLR_INVALID。即使操作系統是win7,打開航空(我見過它只發生在win7 64位)。

所以,同樣的窗口 - 使用GetPixel在我的電腦上工作,但它不能在另一臺電腦上工作。

有沒有人遇到過這個?一些應用程序可以阻止其他應用從使用GetPixel?

回答

0

如果其他應用程序正在運行提升,或作爲另一個用戶運行,您將無法觸摸它。

+0

嗯,我明白了......如果我也跑步了,那該怎麼辦? – 2011-06-08 00:04:30

+0

更新:似乎並非如此 - 我只是嘗試以管理員身份運行撲克客戶端,而我,作爲普通用戶 - 按預期工作。 – 2011-06-08 00:13:34

0

MSDN

如果像素是當前 裁剪區域的外部,返回值是 CLR_INVALID

+0

我明白了......作爲一個方面說明,如果我捕捉整個窗口,並且我做了一個BitBlt,它就可以工作。我該怎麼做呢? – 2011-06-08 00:47:06

+0

您正在對與該窗口關聯的DC的剪切範圍之外的像素進行採樣。您仍然可以使用BitBlt,因爲它正在整個DC上進行批量操作。 – MSN 2011-06-08 22:25:21

相關問題