小编efo*_*nis的帖子

Python中的函数参数类型

除非我弄错了,在Python中创建一个函数是这样的:

def my_func(param1, param2):
    # stuff
Run Code Online (Sandbox Code Playgroud)

但是,您实际上并未提供这些参数的类型.另外,如果我记得,Python是一种强类型语言,因此,似乎Python不应该让你传递一个与函数创建者所期望的不同类型的参数.但是,Python如何知道函数的用户是否传递了正确的类型?假设函数实际使用参数,程序是否会因错误类型而死亡?你必须指定类型吗?

python parameters function

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

如何为列表框中的每个项目设置不同的工具提示文本?

我有一个数据绑定到对象集合的列表框.列表框配置为显示每个对象的标识符属性.我想展示一个工具提示,其中包含特定于列表框中正在悬停的项目的信息,而不是整个列表框的一个工具提示.

我在WinForms中工作,感谢一些有用的博客文章,这是一个非常好的解决方案,我想分享.

我有兴趣看看是否有任何其他优雅的解决方案来解决这个问题,或者在WPF中如何做到这一点.

.net c# winapi listbox winforms

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

从另一个应用程序窗口中的文本字段读取

Windows应用程序是否有办法访问另一个应用程序数据,更具体地说是GUI中的文本输入字段,并在那里获取文本以便在我们自己的应用程序中进行处理?

如果有可能,有没有办法"屏蔽"您的应用程序以防止它?

编辑:三个第一个答案似乎是关于获取另一个应用程序窗口标题,而不是该窗口中的特定文本输入字段.

我不是Windows API所期望的,所以你能更准确地说明如何在该窗口中找到某个文本字段,它的先决条件是什么(似乎知道窗口句柄需要什么,是否需要知道文本字段还要处理?我怎么做到?等等......)

C++中的代码片段确实非常值得赞赏.MSDN帮助很难浏览,因为Win32-API有如此可怕的命名约定.

已完成!请参阅下面的答案,了解C++中的操作方法.

c++ user-interface winapi textbox ipc

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

为不总是有响应的视图禁用Django CSRF

我有一个Django视图,接收不需要CSRF令牌的POST.因此我@csrf_exempt在视图上使用了装饰器.问题是,有时我不会从视图中发出响应(它是一个Twitter机器人,它会收到每个推文的HTTP POST,我不想回复每条推文).当我没有发出响应时,我收到以下错误:

Traceback (most recent call last):

 File "/home/adam/webapps/newman/lib/python2.5/django/core/handlers/base.py", line 100, in get_response
   response = callback(request, *callback_args, **callback_kwargs)

 File "/home/adam/webapps/newman/lib/python2.5/django/views/decorators/csrf.py", line 24, in wrapped_view
   resp.csrf_exempt = True

AttributeError: 'NoneType' object has no attribute 'csrf_exempt'
Run Code Online (Sandbox Code Playgroud)

resp(我假设是响应)是None,因为视图刚刚退出return.如何避免此错误,仍然不需要POST中的CSRF令牌.

谢谢!

python django decorator csrf django-csrf

15
推荐指数
2
解决办法
6588
查看次数

如何以编程方式复制在Windows下锁定的文件或文件夹?

什么是API调用来复制当前锁定的文件.我希望能够使用.Net,但Win32调用也没问题.

请随意在Unix或任何其他操作系统上使用相同的功能.

.net winapi locking file

12
推荐指数
2
解决办法
3562
查看次数

我需要做什么才能使我的WH_SHELL或WH_CBT钩子程序从其他进程接收事件?

我正在尝试使用SetWindowsHookEx设置一个WH_SHELL钩子来获得系统范围HSHELL_WINDOWCREATEDHSHELL_WINDOWDESTROYED事件的通知.我传递0作为最终dwThreadId参数,根据文档,它应该"将钩子过程与在与调用线程相同的桌面上运行的所有现有线程相关联".我也将参数传递给我的DLL(HInstance在Delphi中),hMod就像我看到的所有例子一样.

然而,我只收到由我自己的应用程序创建的窗口的通知 - 通常情况下 - 我的测试导致桌面进程在关闭我的应用程序后熄火.在你问之前,我打电话UnhookWindowsHookEx.我也经常CallNextHookEx在我的经纪人内部打电话.

我正在从一个有限的用户帐户运行我的测试应用程序,但到目前为止我还没有找到任何提示,表明这将起作用...(虽然这实际上让我感到惊讶)

AFAICT,我按书完成了一切(显然我没有,但到目前为止,我没有看到哪里).

我正在使用Delphi(2007),但我认为这不应该真的重要.

编辑:也许我之前应该提到这个:我确实下载并尝试了几个例子(尽管很遗憾没有那么多可用于Delphi - 特别是没有用于WH_SHELL或者WH_CBT).虽然它们不会像我的测试应用程序一样崩溃系统,但它们仍然不会捕获来自其他进程的事件(即使我可以使用ProcessExplorer验证它们是否可以加载到它们中).所以我的系统配置似乎有问题,或者示例错误,或者根本无法从其他进程捕获事件.任何人都可以开导我吗?

编辑2:好的,这是我的测试项目的来源.

包含钩子过程的DLL:

library HookHelper;

uses
  Windows;

{$R *.res}

type
  THookCallback = procedure(ACode, AWParam, ALParam: Integer); stdcall;

var
  WndHookCallback: THookCallback;
  Hook: HHook;

function HookProc(ACode, AWParam, ALParam: Integer): Integer; stdcall;
begin
  Result := CallNextHookEx(Hook, ACode, AWParam, ALParam);
  if ACode < 0 then Exit;
  try …
Run Code Online (Sandbox Code Playgroud)

windows delphi hook winapi

12
推荐指数
1
解决办法
4954
查看次数

如何为通过CreateWindow创建的窗口指定字体?

我正在使用纯Win32 API(RegisterClass和CreateWindow函数)创建窗口.如何为窗口指定字体而不是系统定义的字体?

windows winapi fonts

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

如何从包含空格的参数的另一个批处理文件中调用批处理文件?

我有2个(可能更多的未来)批处理文件层,这使我的生活更轻松,直到我尝试添加带有空格的路径.

批处理文件1:

@echo off
set thinga=c:\final build
set thingb=\\server\deployment for final buil

echo.
echo thing a: %thinga%
echo thing b: %thingb%
echo.

call lala.bat "%thinga%" "%thingb%"
Run Code Online (Sandbox Code Playgroud)

批处理文件2(lala.bat):

@echo off

echo.
echo. Param 1 %1
echo. Param 2 %2
echo.
set BASE=%1
set TARGET=%2
echo. Want to run:
echo.  doSomethingOnBaseFolder %BASE%
echo.  doSomethingOnBaseSubFolder "%BASE%\bin\release\*" "%TARGET%\"
echo.
Run Code Online (Sandbox Code Playgroud)

这个输出是:

doSomethingOnBaseSubFolder ""c:\final build"\bin\release\*" ""\\server\deployment for final buil"\"
Run Code Online (Sandbox Code Playgroud)

但我想要输出

doSomethingOnBaseSubFolder "c:\final build\bin\release\*" "\\server\deployment for final buil\"
Run Code Online (Sandbox Code Playgroud)

有没有办法以任何其他方式逃离这个空间?

batch-file

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

类装饰器,继承,超级()和最大递归

我试图弄清楚如何在使用的子类上使用装饰器super().由于我的类装饰器创建了另一个子类,因此装饰类似乎可以防止在super()更改className传递给它时使用super(className, self).以下是一个例子:

def class_decorator(cls):
    class _DecoratedClass(cls):
        def __init__(self):
            return super(_DecoratedClass, self).__init__()
    return _DecoratedClass

class BaseClass(object):
    def __init__(self):
        print "class: %s" % self.__class__.__name__
    def print_class(self):
        print "class: %s" % self.__class__.__name__

bc = BaseClass().print_class()

class SubClass(BaseClass):
    def print_class(self):
        super(SubClass, self).print_class()

sc = SubClass().print_class()

@class_decorator
class SubClassAgain(BaseClass):
    def print_class(self):
        super(SubClassAgain, self).print_class()

sca = SubClassAgain()
# sca.print_class() # Uncomment for maximum recursion
Run Code Online (Sandbox Code Playgroud)

输出应该是:

class: BaseClass
class: BaseClass
class: SubClass
class: SubClass
class: _DecoratedClass
Traceback (most recent …
Run Code Online (Sandbox Code Playgroud)

python decorator

7
推荐指数
2
解决办法
5670
查看次数

使用来自不同模块的python decorator函数

我想使用另一个模块中的函数作为装饰器,但我需要它来操纵当前模块的全局命名空间.

例如,我希望能够从这个:

class SomeClass:
    pass

root = SomeClass
Run Code Online (Sandbox Code Playgroud)

对此:

from othermodule import decorator

@decorator
class Someclass:
    pass
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

python decorator

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