问题列表 - 第41375页

获取当前线程句柄

我在Delphi应用程序中遇到问题,确定当前应用程序(当前线程)句柄.我知道我可以使用Windows API函数获取当前线程ID GetCurrentThreadID,但我需要当前的Thread句柄作为另一个Windows API函数SuspendThread的param.

实际上我想要做的是让我的旧dll之一用于挂钩kernel32.dll中的API函数,OpenProcess或者TerminateProcess也用于挂钩SuspendProcess.Hook位于dll文件中,使用SetWindowsHookEx注入正在运行的进程,然后查找目标函数的基址.挂钩函数如TerminateProcess我没有问题,因为它需要进程ID作为param,很容易在主应用程序中使用GetCurrentProcessID.要为SuspendThread函数创建类似的钩子,我需要将线程句柄作为参数传递.

只有我找到线程句柄的地方才是PROCESS_INFORMATION包含的结构

typedef struct _PROCESS_INFORMATION { // pi  
    HANDLE hProcess; 
    HANDLE hThread; 
    DWORD dwProcessId; 
    DWORD dwThreadId; 
} PROCESS_INFORMATION; 
Run Code Online (Sandbox Code Playgroud)

但问题是这个结构只有在用CreateProcessAPI函数创建进程后才可用.主要目标是防止程序用户使用ProcessExplorer等在线提供的不同工具来终止进程.我实现了成功挂钩TerminateProcess API调用并阻止关闭我的应用程序,但这些过程探索工具中的挂起选项可以暂停我的进程.它是互联网信息亭应用程序,用户无法关闭该应用程序至关重要.应用程序当前在Windows XP中运行,并且必须在管理员帐户上运行,因为用户在登录我的应用程序后使用的其他应用程序需要管理员帐户才能运行,因此我不能简单地在受限用户下运行我的应用程序.

有什么办法可以在Delphi中获得我的主应用程序主线程句柄吗?

提前致谢

delphi multithreading handle

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

开发Codeigniter游戏

我在PHP方面有相当多的经验(大约5年的一些网站制作经验和两个浏览器游戏).这是我第一次真正搞乱核心引擎,而不仅仅是像Joomla那样开发插件或模块.我在其他面向对象语言(例如Java)方面拥有丰富的经验.

我的问题是,我发现自己开发的网站很像普通网站,但我希望它比这更灵活,我不确定我"做得对".在某种程度上,我觉得我正在构建一半的CMS.

例如,我通过控制器设置主页面,控制器控制当前显示的视图.主视图页面如下所示:

<?php $this->load->view("headerview"); ?>
<?php $this->load->view($contentview); ?>
<?php $this->load->view("footerview"); ?>
Run Code Online (Sandbox Code Playgroud)

在视图文件本身(所以我可以动态加载内容视图,其他人不会真正改变).这是我的第一个问题,因为我通过我的主控制文件完成所有控制,这是正确的吗?

我的索引函数将主视图设置为要加载"contentview"和"gameview"变量的视图.当"contentview"是游戏时,它有一个分割窗格,一个显示玩家统计数据等,另一个显示玩家当前所在的页面(商店,战斗,探索世界等).决定这里显示的内容的是"gamecontent"变量(也在"主"控制器中传递).

<?php $this->load->view("menubar"); ?>
<?php $this->load->view($gamecontent); ?>
Run Code Online (Sandbox Code Playgroud)

简而言之,所有视图处理当前都在主控制器中完成,即一个控制器.

$data['title'] = "Experimental Page";
$data['maincontent'] = "gameview";
if($page == 1) {
    $data['gamecontent'] = "townview";
} else if ($page == 2) {
    $data['gamecontent'] = "merchantview";
} else if ($page == 3) {
    $data['gamecontent'] = "explorationview";
} else if ($page == 4) {
    $data['gamecontent'] = "hospitalview";
} else if ($page == 5) {
    $data['gamecontent'] = "fightview";
} else if ($page == …
Run Code Online (Sandbox Code Playgroud)

php oop codeigniter content-management-system

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

我在哪里可以下载cron实用程序的源代码?

我搜索了cron的源代码,以修改它来修改/执行它.我找不到它(认为它将在coreutils中).

谁知道我在哪里可以获得cron的来源?

顺便说一下,我在Linux上运行(Ubuntu 10.0.4)

c ubuntu cron

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

如何让number_format()在小于10的整数上添加两个小数点?

价格以美分为单位,但每当价格低于10美元时,价格不会增加.00!

              $price = (float)($cents/100);
              $price = number_format($price,2);   
Run Code Online (Sandbox Code Playgroud)

我想能够代表0.00和0.01和1.01不知道如果number_format()不起作用怎么做!

php decimal number-formatting

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

HTML5音频随机播放

我正在HTML5音频中实现声音效果,但过了一段时间,它就停止播放任何音频.文件类型是正确的,因为它开始正常但似乎放弃了.

var sound = new Audio(url);
function play() {        
    sound.play();
}
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来做到这一点,它一直播放声音?

这是我实现的链接.通过按空格键很容易重现,直到它最终放弃(也拍摄灯光以增加声音).http://craftyjs.com/elevatoraction/

在最新版本的Chrome(8.0)中出现这种情况

编辑:我按照Gaurav的建议做了,并且只播放了每个声音文件的相同实例,但是存在同样的问题.它会随意停止播放.

编辑2:我只是注意到每当我尝试播放声音时,networkState总是1根据意味着它没有完全加载.这很奇怪,因为它仍然有时会播放,即使它networkState总是播放1

javascript audio html5

11
推荐指数
1
解决办法
1081
查看次数

4
推荐指数
2
解决办法
7048
查看次数

设置xts索引

用两行构建一个xts对象.

library(xts)   
junk<-xts(c(1,2),as.Date(c("2010-01-01","2010-05-01")))   
junk   
>            [,1]
> 2010-01-01    1   
> 2010-05-01    2   
Run Code Online (Sandbox Code Playgroud)

为什么以下不改变第一行的索引?

time(junk[1])<-as.Date("2010-02-01")   
junk   
>            [,1]
> 2010-01-01    1   
> 2010-05-01    2   
Run Code Online (Sandbox Code Playgroud)

我意识到以下工作,但为什么上述工作没有?

time(junk)[1]<-as.Date("2010-02-01")   
junk   
>            [,1]
> 2010-02-01    1   
> 2010-05-01    2   
Run Code Online (Sandbox Code Playgroud)


比尔, 谢谢

r xts

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

使用libjpeg在virtualenv上安装pil

目前我正在将PIL安装到我的虚拟环境中,如下所示:

pip install -E . -r ./releases/%s/requirements.txt
Run Code Online (Sandbox Code Playgroud)

其中requirements.txt包含:

pil
Run Code Online (Sandbox Code Playgroud)

我现在可以上传png图片但不能上传jpeg图片.从网上阅读看来我可能需要libjpeg解码器?我安装pil不正确吗?使用libjpeg在虚拟环境中安装django的正确方法是什么?

django pip virtualenv python-imaging-library

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

adb devices列表空 - 雪豹

我遇到了android SDK的问题,它无法识别通过usb插入的设备:

$adb start-server                                 
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
$adb devices                                      
List of devices attached
Run Code Online (Sandbox Code Playgroud)

(列表为空,其他sdk工具也无法识别设备)

根据SDK文档,在Mac OS X上,这应该"正常工作".(设置开发设备)

它过去对我有用,但似乎刚刚停止了.是否有针对此问题的OS X解决方案?(在其他操作系统上,大概你必须摆弄USB驱动程序)

试过:

  • 动力循环机和装置
  • 切换USB端口拔掉所有插头
  • USB除了鞋底(非拆分)
  • 连接到设备的电缆多根电缆

android osx-snow-leopard

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

在运行时获取注释信息

我想知道是否有任何方法可以在运行时获取类的注释信息?因为我想获得sepcifily注释的属性.

例:

class TestMain {
    @Field(
            store = Store.NO)
    private String  name;
    private String  password;
    @Field(
            store = Store.YES)
    private int     age;

    //..........getter and setter
}
Run Code Online (Sandbox Code Playgroud)

注释来自hibernate-search,现在我想要的是将"TestMain"的哪个属性注释为"字段"(在示例中,它们是[name,age]),并且"存储"( store = store.yes)'(在示例中,它们是[ age ])在运行时.

有任何想法吗?

更新:

public class FieldUtil {
public static List<String> getAllFieldsByClass(Class<?> clazz) {
    Field[] fields = clazz.getDeclaredFields();
    ArrayList<String> fieldList = new ArrayList<String>();
    ArrayList<String> storedList=new ArrayList<String>();
    String tmp;
    for (int i = 0; i < fields.length; i++) {
        Field fi = fields[i];
        tmp = fi.getName();
        if …
Run Code Online (Sandbox Code Playgroud)

java annotations runtime hibernate-search

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