C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: CopyFromScreenでブランク画像になってしまう


(過去ログ 171 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■98676 / inTopicNo.1)  CopyFromScreenでブランク画像になってしまう
  
□投稿者/ 洋館 (1回)-(2021/12/16(Thu) 18:02:05)

分類:[.NET 全般] 

2021/12/16(Thu) 18:33:02 編集(投稿者)

VB.NET2015を使用しております。

Windows10 64ビット版を使用しており、
ディスプレイのスケーリングを100以外にした状態で、
CopyFromScreenを使うと位置がずれてしまいます。


検索して調べると、マニフェストファイルを編集すれば良いことが分かりました。

https://social.msdn.microsoft.com/Forums/ja-JP/fbee15be-04c0-47df-b0d5-419af2a2d128/pc123951242412387123901228965319raphicscopyfronscreen12391124611251512?forum=csharpgeneralja

https://ja.stackoverflow.com/questions/19544/%E3%83%87%E3%82%A3%E3%82%B9%E3%83%97%E3%83%AC%E3%82%A4%E3%81%AE%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BA%E3%81%A7%E3%82%B5%E3%82%A4%E3%82%BA%E3%81%AE%E5%80%8D%E7%8E%87%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B%E3%81%A8-%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B5%E3%82%A4%E3%82%BA%E3%81%8C%E6%AD%A3%E3%81%97%E3%81%8F%E5%8F%96%E5%BE%97%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84



デフォルトだとマニフェストファイルがなかったため、
https://www.tetsuyanbo.net/tetsuyanblog/45990
このサイトを参考にして生成して、"app.manifest"という名前を付けました。



そして、

<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
</windowsSettings>
</application>

をコメントアウトしてビルドしようとしたのですが。


エラー BC37216 競合するオプションが指定されました: Win32 リソース ファイル、Win32 マニフェスト。


というエラーが出てしまい、ビルドできません。

上記をコメントアウトしなかったとしても、
"app.manifest"というファイルが存在するだけで、同じエラーが出てしまいます。

どのようにすればビルドできるようになりますか?

このエラーメッセージを検索しても解説ページは見つかりませんでした。



引用返信 編集キー/
■98678 / inTopicNo.2)  Re[1]: CopyFromScreenでブランク画像になってしまう
□投稿者/ Azulean (1215回)-(2021/12/16(Thu) 20:45:10)
No98676 (洋館 さん) に返信
> エラー BC37216 競合するオプションが指定されました: Win32 リソース ファイル、Win32 マニフェスト。

Win32 リソースを自前で組み込んでいる…など、特殊なことはされていないのですよね?
手元に VS2015 を残していないので検証できないのですが、試しに、新規プロジェクトで同様にマニフェストを追加した場合、同じように再現しますか?
再現しないなら、そのプロジェクトファイルの特殊な運用の影響があるかもしれませんので、vbproj をテキストエディタで眺めてチェックするところでしょうか。


> Windows10 64ビット版を使用しており、
> ディスプレイのスケーリングを100以外にした状態で、
> CopyFromScreenを使うと位置がずれてしまいます。

仮にうまくいったとしても、ご自身のアプリケーションにおいて画面レイアウトが崩れるなどの症状が出ると思いますので、高 DPI 対応としていろいろな対応が必要です。
引用返信 編集キー/
■98679 / inTopicNo.3)  Re[1]: CopyFromScreenでブランク画像になってしまう
□投稿者/ 魔界の仮面弁士 (3251回)-(2021/12/16(Thu) 21:09:16)
No98676 (洋館 さん) に返信
> デフォルトだとマニフェストファイルがなかったため、

アプリケーション マニフェスト ファイルは、
新規プロジェクトには含まれていませんが、VB では
半自動的に用意させる方法がありますよ。

手元には VB2015 が無いのですが、VB2010 と VB2017 では、
プロジェクトのプロパティで [アプリケーション] タブの
[Windows 設定の表示] を選択すると、[My Project] の下に
[app.manifest] ファイルが配置されることを確認しています。

なお、ソリューション エクスプローラーで[すべてのファイルを表示]アイコンを
On にしておかないと、[My Project] の下のファイルは見えません。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -