我正在尝试确定桌面的工作区域,即使隐藏任务栏也是如此.
我有两个矩形,屏幕的边界和任务栏的界限.我需要从屏幕矩形中减去任务栏的边界Rectangle,以确定桌面的可用工作区域.基本上,我想提出Screen.WorkingArea,除非隐藏任务栏.
说屏幕矩形X,Y,W,H = 0,0,1680,1050和任务栏X,Y,W,H is 0,1010,1680,40.我需要从第一个中减去第二个来确定工作区域0,0,1680,1010.
任务栏可以位于屏幕四边之一,我知道必须有一个更好的方法,而不是确定任务栏的位置,然后有一个单独的代码行为四个可能位置中的每一个生成一个新的矩形.
在Windows上创建一个可以添加读/写调用功能的虚拟文件有多难?
举例来说,理想我想创建一个文件,然后附加一个事件处理程序,以便每当读取文件时,读取通话块和码飞奔着去取数据,该数据被填充到该文件,然后将数据发送到请求阅读的程序.
根据我的理解,这与FUSE的工作方式非常接近,但在Windows中似乎没有FUSE实现.如果有办法,那么捕获开放/读/写真的是我所需要的.
最近有一些关于静态类型约束和内联的问题:
特别是两个陈述让我印象深刻:
"有没有办法来编码在.NET编译代码一流的方式这种类型的限制.然而,F#编译器可以在它内联函数,使所有运营商使用在编译时解析的现场强制执行这一约束".
"...但是F#也可以在编译的程序集之间内联,因为内联是通过.NET元数据传达的."
后者几乎似乎与前者相矛盾.我想知道为什么内联需要与静态类型约束功能相关.不能在F#编译器的工作方式(我相信)C++模板和泛型.NET做,并根据需要在编译时动态生成特定的类型,可重复使用的功能呢?
例如:
多态定义:
let add (lhs:^a) (rhs:^a) = lhs + rhs
Run Code Online (Sandbox Code Playgroud)
用法:
let a = add 2 3
let b = add 2. 3.
let b = add 4. 5.
Run Code Online (Sandbox Code Playgroud)
编译器生成的添加功能:
let add_int (lhs:int) (rhs:int) = lhs + rhs
let add_float (lhs:float) (rhs:float) = lhs + rhs
Run Code Online (Sandbox Code Playgroud)
编译器重写用法:
let a = add_int 2 3
let b = add_float 2. 3.
let c = add_float 4. 5.
Run Code Online (Sandbox Code Playgroud)
我不是编译器作家也不是语言设计师,虽然这些主题对我很感兴趣,所以请指出我的天真.
假设我想创建类似cPanel如何工作的东西,它使用系统中的用户名和密码.
您可以在服务器上运行"passwd的用户,密码仍然会与cPanel和FTP工作(不一定是MySQL,但是你明白了吧)
我将如何在PHP中实现这一目标?除了在本地运行/ bin/su并从中运行之外,我没有丝毫想法.有了它,它可能是不准确的..我通常有一些我的开发人员在一个子帐户,或根源开发的东西.
非常感谢任何想法,谢谢!:)
我是单独点击每个来电者的来电者.宁愿只是"扩大所有"而且最低端.
这可能吗?
所以我有一个自定义属性,让我们调用它MyCustomAttribute,它有一个像这样的构造函数:
public MyCustomAttribute(int? i)
{
// Code goes here
}
Run Code Online (Sandbox Code Playgroud)
并声明一个属性:
public int? DefaultProperty { get; set; }
Run Code Online (Sandbox Code Playgroud)
现在,如果我想使用该属性,我需要传入一个int或者null,这就是我所期望的.
但这会给编译器错误:
[MyCustomAttribute(1, DefaultProperty = 1)]
public int? MyProperty { get; set; }
Run Code Online (Sandbox Code Playgroud)
这样做:
[MyCustomAttribute(null,DefaultProperty = null)]
public int? MyProperty { get; set; }
Run Code Online (Sandbox Code Playgroud)
错误是:An attribute argument must be a constant expression, typeof expression or array creation expression of an attribute parameter type对于构造函数和属性.
为什么是这样?如果我改变构造函数以获取一个int,我可以传入0,但不是null,哪种方法会破坏值的目的(有时可能为null)
当我在运行我的应用程序时运行探查器时,它似乎只显示SELECT,而不是INSERT或任何更改数据库的东西.然而我的数据库正在更新,因此必须执行这些命令.我需要做些什么才能让它显示更新?(我正在使用实体框架,顺便说一句,如果这可能有所作为.)
好吧,我在开始这个问题时遇到了麻烦.我试图在Octave中使用soundsc函数,但我一直收到此错误:
error: sound.m: No command line utility found for sound playing
Run Code Online (Sandbox Code Playgroud)
我在网上搜索了一些但却找不到该做什么.这是我在网上找到的包含错误的文件的源代码的链接:http://octave-audio.sourcearchive.com/documentation/1.1.3/sound_8m-source.html
我认为错误来自这里:
## What do we use for playing?
global sound_play_utility;
if ~isempty(sound_play_utility),
## User specified command
elseif (file_in_path(EXEC_PATH, "ofsndplay"))
## Mac
sound_play_utility = "ofsndplay -"
elseif (file_in_path(EXEC_PATH, "play"))
## Linux (sox)
sound_play_utility = "play -t AU -";
else
error("sound.m: No command line utility found for sound playing");
endif
Run Code Online (Sandbox Code Playgroud)
我只是碰巧使用Windows 7,所以我想我必须以某种方式指定自己的路径?更改源代码?我不知道我想要做些什么才能让它发挥作用!有人能告诉我吗?
我从套接字中获取了一个char数组:
char[] cbuf = new char[3];
inputStream.read(cbuf, 0, 3); // read 3 chars in buffer "cbuf", offset = 0
Run Code Online (Sandbox Code Playgroud)
然后当我打印出来时:
System.out.println("r:"+(int)cbuf[0]+" g:"+(int)cbuf[1]+" b:"+(int)cbuf[2]);
Run Code Online (Sandbox Code Playgroud)
我在某个方面得到了:
...
r:82 g:232 b:250
r:82 g:232 b:250
r:66 g:233 b:8224
Run Code Online (Sandbox Code Playgroud)
的8224值比方式更255,如何能一个字符包含这个值???
谢谢
当你看到如下行:
#define IX(i,j) ((i)+(N+2)*(j))
Run Code Online (Sandbox Code Playgroud)
相当于:
int IX(int i, int j) {
return ((i)+(N+2)*(j));
}
Run Code Online (Sandbox Code Playgroud)
你怎么知道返回类型等?