小编Dan*_*olo的帖子

如果我只有一个窗口句柄(hWnd),我如何GetModuleFileName()?

我正在尝试获取我的C#2.0应用程序之外的窗口的可执行文件的名称.我的应用程序当前使用来自"user32.dll"的GetForegroundWindow()调用获取窗口句柄(hWnd).

从我能够做的挖掘,我想我想使用GetModuleFileNameEx()函数(来自PSAPI)来获取名称,但GetModuleFileNameEx()需要一个Process的句柄,而不是一个Window.

是否可以从窗口句柄获取进程句柄?(我是否需要先获取窗口的线程句柄?)

编辑了第一句话,使我更清楚我正在尝试做什么.

UPDATE!这是我发现为我工作的C#代码.唯一需要注意的是偶尔它返回一个文件/路径,其中驱动器盘符是"?" 而不是实际的驱动器号(如"C"). - 还没弄明白为什么呢.

[DllImport("user32.dll")]
static extern uint GetWindowThreadProcessId(IntPtr hWnd, out uint lpdwProcessId);

[DllImport("kernel32.dll")]
static extern IntPtr OpenProcess(UInt32 dwDesiredAccess, Int32 bInheritHandle, UInt32 dwProcessId);

[DllImport("psapi.dll")]
static extern uint GetModuleFileNameEx(IntPtr hProcess, IntPtr hModule, [Out] StringBuilder lpBaseName, [In] [MarshalAs(UnmanagedType.U4)] int nSize);

[DllImport("kernel32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool CloseHandle(IntPtr hObject);

private string GetWindowModuleFileName(IntPtr hWnd)
{
    uint processId = 0;
    const int nChars = 1024;
    StringBuilder filename = new StringBuilder(nChars);
    GetWindowThreadProcessId(hWnd, out processId);
    IntPtr hProcess = OpenProcess(1040, 0, …
Run Code Online (Sandbox Code Playgroud)

c# winapi hwnd

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

GWT CellTable中的键盘导航

我们正在尝试使用创建可编辑网格CellTable.用例是用于10键输入电子表格的会计师的相当高的数据量输入.我们正在尝试尽可能地复制电子表格式键盘导航.

  1. 有没有办法避免必须按Enter才能进入编辑模式TextInputCell?我已经尝试覆盖 TextInputCell.onBrowserEvent()onEnterKeyDown()收到焦点事件时调用,但这不起作用.

  2. 有没有办法使用TabShift- Tab在列之间导航而不是左箭头和右箭头?CellTable似乎硬编码使用左右箭头并且难以扩展.

keyboard gwt input spreadsheet

9
推荐指数
1
解决办法
2427
查看次数

如何在django上使用$ .post?

我怎样才能jquery.post()在Django中使用该方法?

这就是我想要做的:

         var postdata={
              'username':$('#login-email').val(), 
              'password':$('#login-password').val()
         }

         $.post('/login/',postdata)
Run Code Online (Sandbox Code Playgroud)

我如何在django中保护CSRF?有没有办法将CSRF令牌添加到帖子数据?

django jquery django-csrf

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

Python(Numpy)数组排序

我有一个名为v的dtype('float64')数组:

array([[  9.33350000e+05,   8.75886500e+06,   3.45765000e+02],
       [  4.33350000e+05,   8.75886500e+06,   6.19200000e+00],
       [  1.33360000e+05,   8.75886500e+06,   6.76650000e+02]])
Run Code Online (Sandbox Code Playgroud)

...我通过使用np.loadtxt命令从文件中获取的.我想在第一列的值之后对其进行排序,而不会混淆将数字列在同一行上的结构.使用v.sort(axis = 0)给我:

array([[  1.33360000e+05,   8.75886500e+06,   6.19200000e+00],
       [  4.33350000e+05,   8.75886500e+06,   3.45765000e+02],
       [  9.33350000e+05,   8.75886500e+06,   6.76650000e+02]])
Run Code Online (Sandbox Code Playgroud)

...即将第三列中最小数量的第一列放在第一行等等.我宁愿想要这样的东西......

array([[  1.33360000e+05,   8.75886500e+06,   6.76650000e+02],
       [  4.33350000e+05,   8.75886500e+06,   6.19200000e+00],
       [  9.33350000e+05,   8.75886500e+06,   3.45765000e+02]])
Run Code Online (Sandbox Code Playgroud)

......每条线的元素没有相对移动.

python arrays sorting numpy

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

Win32:是否有使用硬件加速的替代GDI32.dll?

有没有人创建了一个GDI32.dll利用机器上可用硬件加速的版本?gdiplus.dll

从Windows Vista开始,GDI不再是硬件加速.(GDI +从未加速硬件).如果没有Microsoft修复GDI(和GDI +)以便能够在计算机上运行良好:本机应用程序(C++ MFC,Delphi等)和托管的WinForms应用程序将继续运行得很糟糕.

虽然我可以将Direct2D用于业务应用程序,但我无法控制开发环境仍然创建控件的事实,数十年的库支持代码假定存在GDI.


应用程序兼容性:图形设备接口(GDI):

现在,诸如LineTo和Rectangle之类的GDI原语在软件而不是视频硬件中呈现,这极大地简化了显示驱动程序.

Windows和视频内存

在XP中,GDI是GPU加速到不同程度,具体取决于操作系统的配置方式或设备驱动程序(有关详细信息,请参阅挂钩与撑开).在Vista中,GDI不是GPU加速的

比较Direct2D和GDI

因此,在Windows Vista中,GDI DDI显示驱动程序已更改为仅由Microsoft提供的驱动程序Canonical Display Driver(CDD)实现.GDI呈现给系统内存位图.脏区域用于更新窗口管理器用于合成桌面的视频内存纹理.

user-interface winapi gdi+ gdi direct2d

7
推荐指数
1
解决办法
3950
查看次数

在开发Web应用程序时何时使用Graph数据库而不是Document数据库?

我正在使用Rails开发基于Web的应用程序.我正在讨论使用图形数据库(如InfoGrid)或文档数据库(如MongoDB).

我的应用程序需要存储一小组数据(如URL)和非常大的数据集(如虚拟机).此数据将绑定到单个用户.

我有兴趣了解人们使用Graph或Document数据库的经验以及为什么他们会使用其中任何一个选项.

谢谢

database ruby-on-rails graph-databases document-database

7
推荐指数
1
解决办法
605
查看次数

如何创建QR码应用程序?

能否请您解释一下如何创建QR码以及如何跟踪它们.生成的代码存储在DB中.

我真的很困惑QR码阅读器应用程序的工作原理.如果我创建一个用户可以生成QR码的网站.每个生成的QR码都将保存在我的站点数据库中.那么,我还要编写一个应用程序吗?一个应用程序将读取从图像读取的QR码图像,并将采取相应的行动,或者QR码阅读器应用程序将完成这项工作?

问候,aqif

qr-code

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

Windows路径上的领先"\ ?? \"是什么意思?

使用GetModuleFileNameEx查询正在运行的进程的映像路径时,某些进程的映像路径以"\ ?? \"开头.例如,虽然大多数过程开始 "C:\ WINDOWS",一些过程开始 "\ ??\C:\ WINDOWS".

在Windows路径上,领先\ ?? \意味着什么?

windows winapi path

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

C#RSA公共模数/指数?(不良数据)

我已经尝试过但我仍然得到"糟糕的数据".如何使用RSACryptoServiceProvider使用公钥的Exponent/Modulus解密数据?

public static byte[] Encrypt(byte[] b, byte[] mod, byte[] exp)
{
    CspParameters csp = new CspParameters();
    RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(csp);
    RSACryptoServiceProvider.UseMachineKeyStore = false;

    RSAParameters par = new RSAParameters();
    par.Exponent = exp;
    par.Modulus = mod;
    rsa.ImportParameters(par);

    return rsa.Encrypt(b, false);
}
public static byte[] Decrypt(byte[] b, byte[] pubexp, byte[] mod, byte[] priexp)
{
    RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
    RSACryptoServiceProvider.UseMachineKeyStore = false;
    RSAParameters rp = new RSAParameters();

    rp.Exponent = pubexp;
    rp.D = priexp;

    rp.Modulus = mod;
    rsa.ImportParameters(rp);
    return rsa.Decrypt(b, false);
}

static …
Run Code Online (Sandbox Code Playgroud)

c# rsa

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

禁用特定包的日志记录

我正在我的应用程序中实现python日志记录,我希望能够利用"默认"根设置.我想使用root设置,因为我不想在配置文件中为每个模块定义一个记录器.

当我打开根记录器的DEBUG级别日志记录时,我遇到了QPID Python客户端API的问题.我的日志文件充斥着qpid调试语句:

2011-03-16 09:16:18,664 - qpid.messaging.io.ops - DEBUG - SENT [8de6b2c]:..

2011-03-16 09:16:18,667 - qpid.messaging.io.raw - DEBUG - ..

2011-03-16 09:16:18,668 - qpid.messaging.io.raw - DEBUG - READ [8de6b2c]:..

2011-03-16 09:16:18,668 - qpid.messaging.io.ops - DEBUG - ..

等等..

所以有两个主要问题:

1)有没有办法只为我的模块启用*日志记录而不为每个模块定义一个记录器?换句话说,有没有办法进行共享的"记录器设置",因此不必为每个记录器定义一个logger_部分,有没有办法默认设置?

就像是:

[logger_shared_settings]
    loggers = logger_A,logger_B,logger_C,logger_D
    level=DEBUG
Run Code Online (Sandbox Code Playgroud)

2)或者如何通过配置文件过滤出qpid包日志记录?

这是log.conf文件:

[loggers]
keys=root

[handlers]
keys=consoleHandler,fileHandler,nullHandler

[formatters]
keys=simpleFormatter

[logger_root]
level=DEBUG
handlers=consoleHandler,fileHandler

[handler_consoleHandler]
class=StreamHandler
level=DEBUG
formatter=simpleFormatter
args=(sys.stdout,)

[handler_fileHandler]
class=logging.handlers.RotatingFileHandler
level=DEBUG
formatter=simpleFormatter
args=('out.log',)
Run Code Online (Sandbox Code Playgroud)

这是我试图避免的:

[loggers]
keys=root, a, b, c, d

[handlers]
keys=consoleHandler,fileHandler,nullHandler

[formatters]
keys=simpleFormatter

[logger_root]
level=ERROR …
Run Code Online (Sandbox Code Playgroud)

python logging

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