我试图获取当前活动窗口的高度和宽度.
[DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true)]
public static extern IntPtr GetForegroundWindow();
[DllImport("user32.dll")]
private static extern bool GetWindowRect(IntPtr hWnd, Rectangle rect);
Rectangle bonds = new Rectangle();
GetWindowRect(handle, bonds);
Bitmap bmp = new Bitmap(bonds.Width, bonds.Height);
Run Code Online (Sandbox Code Playgroud)
此代码不起作用,因为我需要使用RECT,我不知道如何.
我有一个特殊的字符(/ @)我想转换为Keys.
我目前正在使用这个:
Keys k = (Keys)'/';
Run Code Online (Sandbox Code Playgroud)
在调试时,我得到k等于:
LButton | RButton | MButton | 返回| 空间类型 - System.Windows.Forms.Keys
k的键码假设是111.
注意:代码适用于大写字母,例如:
Keys k = (Keys)'Z';
Run Code Online (Sandbox Code Playgroud)
在这种情况下,k的密钥代码是90,这没关系.
我正试图找到一种方法将特殊字符转换为键.(或正确的密钥代码)
尝试使用以下方式全局发送密钥:
public static void SendKey(byte keycode)
{
const int KEYEVENTF_EXTENDEDKEY = 0x1;
const int KEYEVENTF_KEYUP = 0x2;
keybd_event(keycode, 0x45, KEYEVENTF_EXTENDEDKEY, (UIntPtr)0);
keybd_event(keycode, 0x45, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, (UIntPtr)0);
}
SendKey((byte)Keys.{SomethingHere});
Run Code Online (Sandbox Code Playgroud) 我有一个使用剪贴板的程序,但我希望在完成后将剪贴板恢复到以前的状态.
这是我的代码:
IDataObject temp = Clipboard.GetDataObject();
//Some stuff that change Cliboard here
Clipboard.SetText("Hello");
//Some stuff that change Cliboard here
Clipboard.SetDataObject(temp);
Run Code Online (Sandbox Code Playgroud)
但是,如果我复制一个文本,并运行此代码,我在记事本上什么也得不到.
注意:我不能使用Clipboard.Contains,因为我想保留剪贴板EXACLY之前的状态,即使用户复制了一个文件.
我想使用FileStream类来避免在客户端的计算机上保存任何文件.但是FileStream的每个构造函数都需要一个文件路径.
如何从流创建FileStream而不必将其保存在硬盘上?
编辑:我已经在使用memorystream来存储我的信息.但在某些时候我需要将文件压缩到另一个流中.问题是zip命令(我看过GZipStream - 它将FILES拉到STREAM)需要一个源文件路径(FileStream).
如果我不能通过从流创建FileStream来超越,是否有其他方式来压缩流?
我有一个多个if的功能(这不是实际代码)
if(n == 1)
m = 1;
if(n == 2)
m = 2;
if(n == 3)
m = 3;
Run Code Online (Sandbox Code Playgroud)
而不是我想把它们全部变成?:表达式:
(n == 1) ? m = 1;
Run Code Online (Sandbox Code Playgroud)
但它说它期待':'
我熟悉C++中的?:表达式,你可以简单地写:
(n == 1) ? m = 1 : 0;
Run Code Online (Sandbox Code Playgroud)
但是0不会在这里.这是一个荒谬的问题,我甚至无法在谷歌中找到答案,因为它忽略了'?:'作为一个单词.
答案:答案在评论中太糟糕了.在这个表达式中无法"无所事事",我应该使用if-else或switch.谢谢.
我在div中有3个文本框,当焦点离开其中一个输入而不转到这3个输入中的另一个时,我需要引发一个事件.
只要用户正在编辑这3个控件中的一个,事件就不会引发.只有当焦点变为不是这些输入之一的控件时,才会引发该事件.
我尝试使用focusout所有3个输入并检查是否document.ActiveElement是3个输入中focusout的一个,但是一个控件focusin在另一个之前发生,因此document.ActiveElement总是为空.
任何人都知道如何解决这个问题?
我有一张照片:
尺寸为1000x1000白色,带有随机黑点.(它可能包含黑色方块(尺寸50x50))
有没有一种简单的方法可以知道图片是否包含黑色方块(尺寸为50x50)?我想扫描图片的每个像素,如果找到一个黑色像素,扫描他旁边的那个,直到我得到一个50x50的方格,或者直到我得到一个白色像素并继续扫描.但它必须扫描超过一百万像素(如果他没有找到方块).
这基本上是代码(不需要完成它,正如我之前所说,它将花费太多时间来扫描它.如果整个图片是白色而且根据黑色像素的数量要多得多,则会花费数百万次.)
for (int i = 0; i < pic.Width; i++)
{
for (int j = 0; j < pic.Height; j++)
{
if (pic.GetPixel(i, j) == Color.Black)
{
//Search for the entire square at that area
}
}
}
Run Code Online (Sandbox Code Playgroud)
是的,时间很重要(这就是为什么我不想让像素超过一百万次).有任何想法吗?
我有一个全屏c#应用程序,我希望当用户在应用程序中时,光标将不可见.(仅使用键盘控制应用程序)
谁知道怎么做这样的事情?
PS:我更喜欢光标完全不可用而不是"隐形"或"透明"
我有这个代码(用于一个非常好的和友好的网站)
public class B
{
static public A IntA;
}
public class A
{
private int x;
public A(int num)
{
x = num;
}
public void Print()
{
Console.WriteLine("Value : {0}", x);
}
~A()
{
B.IntA = this;
}
}
class RessurectionExample
{
// Ressurection
static void Main()
{
// Create A instance and print its value
A a = new A(50);
a.Print();
// Strand the A object (have nothing point to it)
a = null;
// Activate the …Run Code Online (Sandbox Code Playgroud) 我正在尝试解决aX 2 + bX + c = 0但我似乎无法使用数学标题(我不应该使用它).
printf("%E",(-b+(b*b-4*a*c)E0.5)/2a);
Run Code Online (Sandbox Code Playgroud)