小编Kfi*_*ods的帖子

C#Process.MainWindowHandle始终返回IntPtr Zero

这是我的代码:

            using (Process game = Process.Start(new ProcessStartInfo() { 
        FileName="DatabaseCheck.exe",
        RedirectStandardOutput = true,
        CreateNoWindow = true,
        UseShellExecute = false }))
        {
            lblLoad.Text = "Loading";
            int Switch = 0;

            while (game.MainWindowHandle == IntPtr.Zero)
            {
                Switch++;
                if (Switch % 1000 == 0)
                {
                    lblLoad.Text += ".";
                    if (lblLoad.Text.Contains("...."))
                        lblLoad.Text = "Loading.";

                    lblLoad.Update();
                    game.Refresh();
                }
            }
Run Code Online (Sandbox Code Playgroud)

问题是,那个游戏.MainWindowHandle总是IntPtr.Zero.我需要找到运行过程的IntPtr以确认游戏是由启动器启动的,所以我让游戏发送它的IntPtr并让启动器响应它是否正常.但为此,我必须具体了解运行过程的IntPtr.

提前致谢!

c# process window-handles intptr

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

文件ReadAllLines将外语变成乱码( )

我正在创建一个替换文本文件中的一些文本的工具.我的问题是File ReadAllLines将希伯来字符变成了Gibberish(奇怪的问号 )

有谁知道为什么会这样?请注意,我确实在游戏中有希伯来语等问题.而在记事本中,我无法保存希伯来语文档.我可以写希伯来字母但是当我保存时它会告诉我这有问题.

编辑 - 试过这个,但它只把希伯来语变成了常规问号,而不是"特殊"问号 -

string[] lines = File.ReadAllLines(fullFilenameDir);
byte[] htmlBytes = Encoding.Convert(Encoding.ASCII, Encoding.Unicode, Encoding.ASCII.GetBytes(String.Join("\r\n", lines)));
char[] htmlChars = new char[Encoding.Unicode.GetCharCount(htmlBytes)];
Encoding.Unicode.GetChars(htmlBytes, 0, htmlBytes.Length, htmlChars, 0);
Run Code Online (Sandbox Code Playgroud)

c# string hebrew

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

在数据库中存储深层目录树

我正在开发一个桌面应用程序,它很像WinDirStat或voidtools'Everything - 它映射硬盘驱动器,即从目录树中创建一个深层嵌套的字典.

然后,桌面应用程序应将目录树存储在某种数据库中,以便可以使用Web应用程序从根目录深度级别浏览它们.

假设两个应用程序暂时在同一台机器上本地运行.

我想到的问题是如何构建数据以及应该使用什么数据库,考虑:1)RAM消耗应该合理2)准备好在Web应用程序中查看目录所需的时间应该是最小

PS - 我的初始方法是将每个文件系统节点分别序列化为JSON并将每个节点插入到Mongo中,并将对象引用链接到它们的子节点.这样,Web应用程序可以根据用户需求轻松加载数据.但是,我担心为Mongo制作这么多(平均一百万个)独立插件需要花费很多时间; 如果我进行批量插入,这意味着我必须将每个批量保留在内存中.

我还考虑将整个树转储为一个深度嵌套的JSON,但数据太大而不能成为Mongo文档.GridFS可以用来存储它,但是我会在web应用程序中加载整个树,即使深层节点可能不感兴趣.

database tree bigdata mongodb data-structures

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

以不同于GET的方式处理POST

我目前在我的C#处理程序(.ashx)中使用context.Request.QueryString,因为到目前为止我只需要处理GET帖子.

如果我通过POST方法发送了一个JSON对象怎么办?我知道我应该反序列化发送的内容,但我的观点是 - 我怎么知道发送源是发送POST还是GET.

为什么?因为我想将处理程序拆分为POST相关函数(通常需要安全性的东西)和更原始的GET相关函数(检索公共信息等)

如果重要,我的代码现在看起来像这样(并且它还没有准备好正确处理POST).

public void ProcessRequest (HttpContext context) {
    context.Response.ContentType = "application/json";
    JavaScriptSerializer jss = new JavaScriptSerializer();

    // Wanna know POST was used here, so I can deserialize the sent JSON data
    // ----

    // Handling GET here, good and working
    if (context.Request.QueryString["aname"] != null
        && context.Request.QueryString["type"] != null)
    {
         string adminName = context.Request.QueryString["aname"];
         if(adminName == "test") { // Return some JSON object }
    }
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net post json handler

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

使用多个表加载DataTable选择查询

我以前从未使用过涉及多个表的选择查询,现在当我这样做时,我遇到了从中获取信息的麻烦DataTable.

我有这个问题:

SELECT * 
FROM [Usergroups], [Groups] 
WHERE [Usergroups.UserID] = @name 
  AND [Groups.GroupID] = [Usergroups.GroupID]
Run Code Online (Sandbox Code Playgroud)

这就是我将返回值放入DataTable的方法:

DataTable groupsTable = new DataTable();
groupsTable.Load(sqlCmd.ExecuteReader());
Run Code Online (Sandbox Code Playgroud)

现在,我如何指定我DataTable想从哪个表中获取行?例如,这是我在涉及的多个表之前所做的事情:

string groupName = groupsTable.Rows[0]["Name"];
Run Code Online (Sandbox Code Playgroud)

我找不到任何有此类信息的资源,但我知道这是一个基本问题.提前致谢.

.net c# sql datatable handler

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

让DIV不会显示在它的容器外面

我正在使用JQuery制作一个非常基本的动画.基本上我所拥有的是DIV,其宽度为60%,高度为80%,并且包含手册.我的目标是,当您浏览手册中的页面时,当前页面会向上移动并消失,下一页从底部开始.

我足够接近,但有些事情是错的,我无法理解如何解决它 - 页面DIV在容器外可见.他们的顶级财产设定为110%但我可以看到它没有生效.他们的位置只受上面菜单表的影响.

所以我的问题,实际上是 - 如何在容器外部使DIV不可见,但不改变整个DIV的可见性或显示,所以在向上移动时会看到文本 - 但只有放在容器上的文本和不在它之外.

    .manualPage {
    color:rgba(241, 241, 241,1.0);
    top:110%;
    text-align:left;
    left:0%;
    cursor:default;
    z-index:30;
    font-family: "Open Sans", sans-serif;
    font-size:11pt;
    width:100%;
    height:100%;
}

.BigWindow {
    position:absolute;
    width:60%;
    height:80%;
    top:10%;
    display:inline-block;

    left:-70%;

    background-repeat:repeat;

    color:rgba(241, 241, 241,1.0);

    font-family: "Open Sans", sans-serif;
    font-size:12pt;

    text-align:center;

    cursor:default;

    z-index:30;
}
Run Code Online (Sandbox Code Playgroud)

注意BigWindow是容器,manualPage是页面.

这是函数,但我认为CSS问题是首先要解决的问题:

var currentPage = -1;

function setManualPage(num) {
    if ($('#manualMenu').css('display') != 'none')
        $('#manualMenu').fadeOut(750);
    if (currentPage != -1) {
        $('#page' + currentPage).animate({ top: '-100%' }, screen.availHeight / 2, function () { $('#page' …
Run Code Online (Sandbox Code Playgroud)

html css asp.net jquery

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