小编Pey*_*man的帖子

如何使用Objective-C在Mac Os X中模拟Unicode Char"按键"?

我想模拟Mac OS X中的unicode字符以发送到Foreground应用程序.我的意思是我有一个unicode char(可以包含阿拉伯语,中文等),比如'a',我想输入它.请注意,我不是在尝试使用虚拟密钥或密钥代码.只有一个角色.

真诚的,Peyman Mortazavi

unicode macos objective-c keypress simulate

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

为什么我的应用程序(我用Any CPU编译)在我的64位机器上作为32位进程运行?

我有以下代码,不能在x64操作系统上运行,因为notepad.exe是x64,x86应用程序无法获取x64进程的模块信息.

prc.Modules[0].FileName
Run Code Online (Sandbox Code Playgroud)

.Net异常会抛出我的代码

System.ComponentModel.Win32Exception(0x80004005):32位进程无法获得64位进程的模块.

根据这个论坛上的许多答案和文章,MSDN,...,我知道我需要使用AnyCPU,因为使用x64对我没有特别的好处.(不好意思:我测试了一个检查性能的代码,x64代码跑得快了~40毫秒.没关系我不希望我的代码运行速度快40毫秒:D)相反我不会有这样的问题.但即使在AnyCPU配置上编译时也是如此.我的错误仍然存​​在,此外,在任务管理器中,我在进程名称的末尾看到一个(32位).

我不知道那是错的.VS 2011 Beta(x64)Windows 8 Consumer Preview(x64)

真诚的,Peyman Mortazavi

c# 64-bit anycpu

6
推荐指数
2
解决办法
3126
查看次数

C ++运算符重载+ =可以,但是<<不起作用

我希望+ =和<<将相同,但是<<不起作用。

这是我的代码:

#include <iostream>

using namespace std;

struct Pos{
    int x;
    int y;

    void operator+=(Pos vel){
        x += vel.x;
        y += vel.y;
    }
};

struct Obj{
    string name;
    Pos pos;

    void info(){
        cout << name << endl;
        cout << pos.x << ", " << pos.y << endl;
        cout << endl;
    }
    void operator<<(Pos vel){
        pos += vel;
    }
    void operator+=(Pos vel){
        pos += vel;
    }
};


int main(){
    Pos p{10, 20};
    Obj car{"Car", p};
    Obj truck{"Big truck", {40, 20}}; …
Run Code Online (Sandbox Code Playgroud)

c++ oop operator-overloading

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

如何获得使用System.Diagnostics.Process.GetProcess(string)的权限?

我正在使用Microsoft Visual Studio创建一个简单的远程任务管理器以用于体验目的.

我想使用,Process.GetProcesses(string);但有一个访问被拒绝的异常,不允许我获得远程计算机进程.事实上这是正常的,因为我们应该使用用户名和密码进行身份验证,但是如何

c# authorization remote-access user-permissions

5
推荐指数
1
解决办法
3380
查看次数

在Web API 2中使用MVC 5 AttributeRouting的QueryString

我有以下代码

[HttpGet] 
[Route("publish/{id}")] 
public IHttpActionResult B(string id, string publishid=null) { ... }
Run Code Online (Sandbox Code Playgroud)

据我所知,

~/..../publish/1?publishid=12
~/..../publish?id=1&publishid=12
Run Code Online (Sandbox Code Playgroud)

应该工作并绑定两个参数,但它不适用于第二种情况.在第一种情况下,不会绑定publishid.

所以我不明白为什么这不起作用.知道为什么会这样吗?

asp.net-mvc query-string asp.net-web-api

5
推荐指数
1
解决办法
9368
查看次数

使用 Boost.Python 将 Python 对象的所有权转移到 C++ 代码

我有一个抽象类Shape(来自 C++ 代码),并且我为它做了一个包装器,这样我就可以在 Python 中继承这个抽象类。除了一些内存管理问题之外,一切都运行良好。Python 对象被创建和销毁,而ShapeWrapperC++ 对象仍然存在。基本上,对象被销毁是因为Python中没有对它的引用,但在C++中存在对包装类的引用,所以我的想法是该类会wrapper增加初始化时的引用计数,并在C++时减少析构函数中的计数包装类ShapeWrap被破坏。但似乎这并没有发生在这里。这是一些代码:

Shape(C++ 中):

struct Shape {
    virtual inline string get_name() const = 0;
};
Run Code Online (Sandbox Code Playgroud)

班上ShapeWrap

struct ShapeWrap : public Shape, public wrapper<Shape> {
    string get_name() const override {
       if (auto py_func = this->get-override("get_name")) {
            return py_func();
       }
       return "Default String";
    }
}
Run Code Online (Sandbox Code Playgroud)

我这样定义类:

class_<ShapeWrap, shared_ptr<ShapeWrap>, boost::noncopyable>("Shape")
     .def("get_name", pure_virtual(&Shape::get_name));
Run Code Online (Sandbox Code Playgroud)

现在我这里有一个小函数来获取一个形状并打印出它的名称:

void print_name(shared_ptr<ShapeWrap> shape) {
    cout << shape->get_name() << endl;
}
Run Code Online (Sandbox Code Playgroud)

在 Python 领域我这样做: …

c++ python boost boost-python

5
推荐指数
0
解决办法
337
查看次数

MonoTouch:播放声音

当用户点击特定按钮时,我正在尝试播放短促的声音.但问题是我总是收到未设置为实例对象的Object引用.意味着空虚!

我首先尝试了MonoTouch.AudioToolBox.SystemSound.

MonoTouch.AudioToolbox.AudioSession.Initialize();   
MonoTouch.AudioToolbox.AudioSession.Category = MonoTouch.AudioToolbox.AudioSessionCategory.MediaPlayback;   
MonoTouch.AudioToolbox.AudioSession.SetActive(true);   

var t = MonoTouch.AudioToolbox.SystemSound.FromFile("click.mp3");
t.PlaySystemSound();
Run Code Online (Sandbox Code Playgroud)

让我注意到"click.mp3"在我的根解决方案文件夹中,它被标记为内容.另一种方法是MonoTouch.AVFoundation.AVAudioPlayer.

var url = NSUrl.FromFilename("click.mp3");
AVAudioPlayer player = AVAudioPlayer.FromUrl(url);
player.FinishedPlaying += (sender, e) => { player.Dispose(); };
player.Play();
Run Code Online (Sandbox Code Playgroud)

但同样的错误.我用谷歌搜索它,我发现很多人都有这个问题.我们需要知道它是否是一个bug.

c# avaudioplayer xamarin.ios audiotoolbox ios

4
推荐指数
1
解决办法
5227
查看次数

在Windows 8上获取电池状态

我通过互联网搜索,我发现有一点点有用的是在Windows Phone 8上获得电池状态的方法.但我想在Windows 8(RT)上使用它.

谁能帮我吗?

c# battery windows-runtime batterylevel

4
推荐指数
1
解决办法
5242
查看次数

基于角色的访问控制 (RBAC) 关心权限还是角色?

在阅读http://en.wikipedia.org/wiki/Role-based_access_control并看到人们构建授权/访问控制的方式后,我想到了这个问题“为什么我们在检查用户是否被允许时检查他们的角色做 X 而不是检查他们的权限?”

这就是我的理解,用户有角色,角色有权限,这就是用户可以拥有权限的方式(用户不能明确分配给它的权限,它通过拥有角色来获得权限)

而且我认为在处理添加用户的请求时检查像“AddUser”这样的权限是有意义的,但是在 .Net 库中以及在 RBAC 的许多示例中,我们看到他们检查角色。就像他们检查用户是否处于管理员角色一样,而不是检查他/她是否具有“AddUser”权限。

为什么?检查权限对我来说更有意义。

有人可以在这里照亮我吗?

谢谢

security permissions rbac security-roles

4
推荐指数
1
解决办法
1021
查看次数

DatagramSocket无法从UdpClient接收数据

我正在制作一个连接到桌面应用程序的Win RT应用程序,他们开始用UDP和TCP进行通信.

我已成功实现TCP通信,因为我可以从Win RT发送到桌面并从桌面发送到Win RT.在Win RT上使用StreamSocket,在桌面上使用TcpListener.

我还让它将Win RT中的Udp数据发送到桌面而没有任何问题.但我无法接收从桌面发送到Win RT的数据.我使用以下代码,我没有看到任何问题,但必须有一些东西.

    var g = new DatagramSocket();
    g.MessageReceived += g_MessageReceived;
    g.BindEndpointAsync(new HostName("127.0.0.1"), "6700");
    .
    .
    .
    void g_MessageReceived(DatagramSocket sender, DatagramSocketMessageReceivedEventArgs args)
    { // <- break point here.

    }
Run Code Online (Sandbox Code Playgroud)

该断点永远不会停止代码,这意味着它永远不会得到消息.我只能想到IBuffer,因为在我的StreamSocket上我应该通过reader.GetBuffers()获取字节,而不是reader.GetBytes().然而,这是我需要在Win RT而不是桌面上考虑的事情.因为在Tcp上我只发送字节,我在Win RT中得到缓冲区,所以DatagramSocket也应该这样做.

  • reader = DataReader

感谢你们.

c# datagram udpclient windows-runtime

3
推荐指数
1
解决办法
3800
查看次数