小编84R*_*73R的帖子

C#通过名称和序号使用FindWindowEx获取子句柄

根据http://msdn.microsoft.com/en-us/library/ms633500(v=vs.85).aspx我定义了FindWindowEx函数.

using System.Runtime.InteropServices;

[DllImport("user32.dll", CharSet=CharSet.Unicode)]
static extern IntPtr FindWindowEx(IntPtr parentHandle, IntPtr childAfter, string lclassName, string windowTitle); 
Run Code Online (Sandbox Code Playgroud)

现在我能够找到第一个 "Button"控件的句柄(从Spy ++获取名称),将childAfter设置为IntPtr.Zero.

IntPtr hWndParent = new IntPtr(2032496);  // providing parent window handle
IntPtr hWndButton = FindWindowEx(hWndParent, IntPtr.Zero, "Button", string.Empty);
Run Code Online (Sandbox Code Playgroud)

如何在父窗口中获取"Button"控件的第二个,第三个或任何句柄?事实是,按钮标题可能会有所不同,所以我无法通过名称定义第四个参数直接找到它们.

c# winapi handle spy++ visual-c++

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

CFscript中的Jsoup以POST方式执行连接

我要解析的页面只能通过POST方法获取.

对于Java来说这很容易,我可以看到:

import org.jsoup.Jsoup;
Response res = Jsoup.connect("URL").method(Method.POST).execute();
Document doc = res.parse();
Run Code Online (Sandbox Code Playgroud)

我无法使用CFscript生成相同的东西.

jsoup = createObject("java", "org.jsoup.Jsoup");
response = jsoup.connect("URL").method(Method.POST).execute();
if (response.statusCode() == 200)
{
    doc = response.parse();
}
Run Code Online (Sandbox Code Playgroud)

-ERR元素POST在METHOD中未定义

我几乎尝试了一切.我无法同时使用.method()和.execute().

如果我直接调用.get()或.post(),那么我就无法检查statusCode().

coldfusion jsoup cfml coldfusion-11

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

C#4.0从Parallel.ForEach中访问表单控件

下面的代码运行正常.我想知道它是否真的正确?

if (openFileDialog.ShowDialog() == DialogResult.OK)
{
    Parallel.ForEach(openFileDialog.FileNames, currentFile =>
    {
       try
       {
           StreamReader FileReader = new StreamReader(currentFile);
           do
           {
               URLtextBox.Invoke(new MethodInvoker(delegate
               {
                   URLtextBox.Text += SelectURLfromString(FileReader.ReadLine());
               }));
           }
           while (FileReader.Peek() != -1);
           FileReader.Close();
        }
        catch (System.Security.SecurityException ex)
        {
            ...
        }
        catch (Exception ex)
        {
            ...
        }
     });
}
Run Code Online (Sandbox Code Playgroud)

否则我得到"跨线程操作无效.控制'URLtextBox'从另一个线程访问"或卡住应用程序.

c# parallel-processing winforms

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

JavaScript在新选项卡或窗口中打开/显示当前页面

是否可以在页面中的新窗口或选项卡中打开页面?

是的,我的意思是当前的 HTML页面本身.不是这样的另一个人的电话:

window.open('page.html','_blank');  
Run Code Online (Sandbox Code Playgroud)

可能是JS和<body onLoad=...>操纵.

需要这个来修改非常复杂的CGI,其中只有少数动作应该在新窗口中打开.无法修改代码,因此只需要纯HTML + JS解决方案.

谢谢.

html javascript internet-explorer

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

ColdFusion OpenCSV打开内存中的文件

想象一下你需要动态解析的一种CSV文件.

它适用于本地磁盘存储,但不适用于ram:///

<cfscript>

cfhttp(
    method = "Get",
    url = "http://real-chart.finance.yahoo.com/table.csv?s=YHOO&d=4&e=2&f=2016&g=d&a=3&b=12&c=2016&ignore=.csv",
    //path = "C:\CFTemp",
    path = "ram:///",
    file = "currentCSV.csv"
);

cfdirectory(
    name="files",
    action="list",
    directory="ram:///",
    recurse="true",
    type="all"
);
writeDump(files);

myfile = FileRead("ram:///currentCSV.csv");
WriteOutput("#myfile#");


fileReader = createobject("java","java.io.FileReader");
fileReader.init("ram:///currentCSV.csv");  // -ERROR

csvReader = createObject("java","com.opencsv.CSVReader");
csvReader.init(fileReader, ",");
ArrayData = csvReader.readAll();
writeDump(ArrayData);

</cfscript>
Run Code Online (Sandbox Code Playgroud)

-ERR ram:/currentCSV.csv(文件名,目录名或卷标语法不正确)

这里有什么问题?

ColdFusion 11,OpenCSV 3.7

csv coldfusion ram opencsv cfml

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

今天有没有两个堆栈的活跃 CPU 架构?

一般来说,使用两个堆栈来防止缓冲区溢出探索是否更简单?一个用于变量和传递参数的堆栈,另一个用于返回地址。

或者像 NX/XD 位(在 AMD/Intel x86 上)作为非可执行堆栈的东西做得更好?

assembly cpu-architecture

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