相关疑难解决方法(0)

创建单实例WPF应用程序的正确方法是什么?

在.NET(而不是Windows窗体或控制台)下使用C#和WPF ,创建只能作为单个实例运行的应用程序的正确方法是什么?

我知道这与一些叫做互斥的神秘事物有关,我很少能找到一个不愿意停下来解释其中一个是什么的人.

代码还需要通知已经运行的实例用户尝试启动第二个,并且如果存在任何命令行参数,也可以传递.

.net c# wpf mutex

631
推荐指数
16
解决办法
19万
查看次数

获取特定应用程序的屏幕截图

我知道我可以使用Graphics.CopyFromScreen()获取整个屏幕的屏幕截图.但是,如果我只想要特定应用程序的屏幕截图怎么办?

c# winapi screenshot

48
推荐指数
3
解决办法
6万
查看次数

捕获截图包括.NET中的半透明窗口

我想要一个相对无黑客的方式来做这个,任何想法?例如,以下截图不包括半透明窗口:

Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Shown
        Text = "Opaque Window"
        Dim win2 As New Form
        win2.Opacity = 0.5
        win2.Text = "Tranparent Window"
        win2.Show()
        win2.Top = Top + 50
        win2.Left = Left() + 50
        Dim bounds As Rectangle = System.Windows.Forms.Screen.GetBounds(Point.Empty)
        Using bmp As Bitmap = New Bitmap(bounds.Width, bounds.Height)
            Using g As Graphics = Graphics.FromImage(bmp)
                g.CopyFromScreen(Point.Empty, Point.Empty, bounds.Size)
            End Using
            bmp.Save("c:\temp\scn.gif")
        End Using
        Process.Start(New Diagnostics.ProcessStartInfo("c:\temp\scn.gif") With {.UseShellExecute = True})
    End Sub
End …
Run Code Online (Sandbox Code Playgroud)

.net c# vb.net windows sdk

29
推荐指数
1
解决办法
2万
查看次数

如何获得具有HWND的窗口的子窗口?

我有给定窗口的句柄.我如何枚举其子窗口?

c# windows winapi children

26
推荐指数
4
解决办法
6万
查看次数

通过窗口的句柄查找进程ID

获取进程的特定PID时遇到问题,此进程的问题在于它是一个隐藏的进程,它没有显示在任务管理器/ powershell上,完全隐藏.

我所做的远是这个过程的主窗口句柄,问题是,我怎样才能得到它的pid.

我正在尝试做的是读取这个过程的内存并编辑它,但如果没有PID我不能这样做(因为我需要在内存中获取它的基地址).

所以,如果任何人有任何解决方法或某些东西给我,它会很棒.

PS:此过程未在Process.GetProcesses()中显示.

TY!

c#

26
推荐指数
2
解决办法
3万
查看次数

如何枚举进程中的所有窗口?

我需要捕获第三方进程的特定窗口.我可以找到主窗口句柄作为Process.MainWindowHandle,但我可以用来列出其他窗口?

我正在使用C#/ .NET

c# windows process

6
推荐指数
1
解决办法
1万
查看次数

通过手柄捕获窗口的屏幕

我试图只捕获桌面中的特定窗口,但是却得到了混合图像,窗口的一部分和桌面区域的一部分。

我想念什么?

这是我的代码:

RECT rect = new RECT();

if (!SetForegroundWindow(handle))
    throw new Win32Exception(Marshal.GetLastWin32Error());

if (!GetWindowRect(handle, out rect))
    throw new Win32Exception(Marshal.GetLastWin32Error());

Thread.Sleep(500);

Rectangle windowSize = rect.ToRectangle();
Bitmap target = new Bitmap(windowSize.Width, windowSize.Height);
using (Graphics g = Graphics.FromImage(target))
{
    g.CopyFromScreen(0, 0, 0, 0, new Size(windowSize.Width, windowSize.Height));
}

target.Save("foo.png", System.Drawing.Imaging.ImageFormat.Png);
Run Code Online (Sandbox Code Playgroud)

c# windows screen-capture

3
推荐指数
2
解决办法
6950
查看次数

标签 统计

c# ×7

windows ×4

.net ×2

winapi ×2

children ×1

mutex ×1

process ×1

screen-capture ×1

screenshot ×1

sdk ×1

vb.net ×1

wpf ×1