我试图得到当前托盘图标的hwnd.我做的是使用以下代码获取系统trat窗口的hWnd:
[DllImport("user32.dll", SetLastError = true)]
static extern IntPtr FindWindowEx(IntPtr hWndParent, IntPtr hWndChildAfter, string lpClassName, string lpWindowName);
[DllImport("user32.dll", SetLastError = true)]
static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
static IntPtr GetSystemTrayHandle()
{
IntPtr hWndTray = FindWindow("Shell_TrayWnd", null);
if (hWndTray != IntPtr.Zero)
{
hWndTray = FindWindowEx(hWndTray, IntPtr.Zero, "TrayNotifyWnd", null);
if (hWndTray != IntPtr.Zero)
{
hWndTray = FindWindowEx(hWndTray, IntPtr.Zero, "SysPager", null);
if (hWndTray != IntPtr.Zero)
{
hWndTray = FindWindowEx(hWndTray, IntPtr.Zero, "ToolbarWindow32", null);
return hWndTray;
}
}
}
return IntPtr.Zero;
}
Run Code Online (Sandbox Code Playgroud)
我从这里拿到了:找到系统托盘中列出的应用程序和服务?
然后我使用以下代码填充了该hWnd的子窗口: …
基本上,我想要处理多个线程中的项目列表,而不是一次处理一个.我一次只想要有限数量的线程.这种方法有意义吗?使用全局变量进行线程计数是唯一的选择吗?(下面的伪代码)
foreach item in list
while thread_count >= thread_max
sleep
loop
start_thread item
thread_count++
next
function start_thread(item)
do_something_to item
thread_count--
end function
Run Code Online (Sandbox Code Playgroud) 我正在使用LWJGL库,不幸的是,每当我的场景图中的节点需要死时,我都需要释放纹理/ vbo缓冲区,我甚至无法使用finalize()方法来执行此操作,因为我无法保证它将在opengl libs期望的同一个线程中执行.
所以我正在使用PhantomReferences.在我的场景图节点中,我将它放在构造函数中:
phantomReference = new ScenePhantomReference(this, Game.phantomReferenceQueue);
Game.phantomReferenceList.add(phantomReference);
Run Code Online (Sandbox Code Playgroud)
正如您在第二行中看到的,我已将phantomReference添加到主类中的列表中.我的逻辑是,当节点被解除引用时,phantomReference将不会被垃圾收集,因为在主类中仍然存在引用.
将它添加到需要的列表中吗?或者它是否会从GC中幸免(可能Game.phantomReferenceQueue会保留对它的引用?).
这个很难测试,我可以删除列表,但GC可能只是在phantomReference之前处理正在观察的对象,并使它看起来像列表是多余的,当它真的没有.我很偏执,任何不同的VM实现或版本都可能决定反过来这样做.
我有一个现有的django应用程序,我需要集成django-cms.Django-cms将主要用于为应用程序创建帮助文档.我已经设置了django-cms来使用我现有的数据库,以保持用户和身份验证的一致性.
理想情况下,在帮助页面中,我将需要来自现有应用程序的客户端特定信息,并且还为文档团队提供编辑功能.
这是我写的示例视图:
def view_help(request, company):
try:
c = Company.objects.get(id=company)
except:
return render_to_response('help.html', {'msg':'No Such company'})
return render_to_response('help.html', {'company':c, 'data':c.data})
Run Code Online (Sandbox Code Playgroud)
对应的模板help.html:
{% load cms_tags %}
{% load custom_tags %}
<!doctype html>
<head>
<title>{{company}}</title>
{% plugins_media %}
</head>
<body>
{% placeholder "main" %}
{% if msg %}
{{msg}}
{% else %}
Here is company specific data: <br/>
{{ data }}
{% endif %}
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
这给了我公司所需的具体信息,但没有给我cms插件.
这里的任何帮助将不胜感激.谢谢.
---编辑---将编辑过的部分移动到一个新问题
我有矢量:c("A","1","2","3","B","4","5","D","6","7","8","9","10")
我想将这个矢量转换成列表:list(A=c(1,2,3),B=c(4,5),...)
矢量中的字母是矢量列表中的名称.矢量来自字母之间的数字块.
我使用NetBeans进行Java开发,我发现它非常好.但是,我仍然在寻找更好的机会,我偶然发现了IntelliJ IDEA的"免费"版本.
所以,我的问题:IntelliJ"社区版"是否比NetBeans更强大,如果是,如何?是否值得花时间学习它?
我需要一种方法来以编程方式记录MXMLC编译中消耗的源文件.理想情况下会有一个标志传递给MXMLC,让它报告它正在编译的源文件的完整列表,但似乎没有这样的标志.通常你只需要将一个main.mxml文件传递给MXMLC,它就会关闭并编译所需的一切而不告诉你它在做什么.据我所知,你也无法明确列出要编译的文件; 它将自动解析引用并编译引用的源,而无需任何方法来控制该行为或报告它.
如果编译器无法提供此信息且用户无法控制此行为,我可以想到的唯一其他选项是编写我自己的MXML源代码扫描程序,它将遍历代码树中的所有引用,以报告MXMLC 应该是什么正在编译,虽然这显然容易出错,当然不是我期待的东西.
当然,由于我没有很多关于Flex的经验,所以我可能会有一个明显的答案.
谢谢
我的常规表达非常糟糕所以我认为会寻求一些帮助.
我有一个正则表达式:
/[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/;
Run Code Online (Sandbox Code Playgroud)
它适用于我的电子邮件验证的大多数情况,但它允许这一个通过:
test..testing @ gmail.com
如何将上述正则表达式更改为不允许整个字符串中的连续句点?
谢谢.
我在C编码并在Linux终端中运行程序.我想将程序的输出保存在.txt文件中.我通常通过执行来做到这一点./a.out>filename.txt
但是我写了一个交互式程序,我必须在其中输入一个数字来启动该程序.在那种情况下我该怎么做?
非常感谢,非常欢迎您的宝贵建议.
使用相同的签名密钥在不同的Android Market帐户下发布应用程序会有任何弊端吗?(每个帐户下有不同的应用程序。)同样,对于同一帐户中的不同应用程序使用不同的签名密钥是否有问题?在这两种情况下,我都不会假设,但是我找不到关于此的任何明确声明。因此,我认为最好还是问是否有人知道。
c# ×2
java ×2
.net ×1
apache-flex ×1
c ×1
command-line ×1
comparison ×1
django ×1
django-cms ×1
enumerate ×1
google-play ×1
ide ×1
javascript ×1
mxmlc ×1
netbeans ×1
plinq ×1
r ×1
redirect ×1
regex ×1
shell ×1
signing ×1
system-tray ×1
unix ×1
validation ×1
winforms ×1