问题标签 [kernel32]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2120 浏览

c# - kernel32.dll Sleep 和 Thread.Sleep() 之间的任何区别

以下之间是否有任何区别(性能,实现。.whatever):

一世)

..然后调用睡眠功能

ii)

0 投票
4 回答
8974 浏览

c# - 无法在 DLL 'kernel32.dll' 中找到名为 'InterlockedIncrement' 的入口点 - VS2005@Win7 64 位

我的 Visual Studio 2005 C# 项目有问题。从星期一开始,我一直在 Windows XP 下使用它。然后我的笔记本电脑坏了,在我的新笔记本电脑上我有 Windows 7 64 位,我仍在使用 VS 2005。

源代码的编译没有问题,但是当我运行程序时,它在下面的行中中断

我得到错误:

EnrtyPointNotFoundExcepition 未停止

无法在 DLL“kernel32.dll”中找到名为“InterlockedIncrement”的入口点

我正在尝试使用 PostgresODBC 64 位驱动程序连接 Postgres 8.4 数据库。

欢迎任何解决方案或解决方法。我需要强调的是,我正在构建的解决方案需要在 Windows XP 32 位下运行。

有关该问题的更新信息(来自我对评论的回复,但不仅如此):

  1. 当我尝试向我的 VS 项目添加新连接时,我收到消息ERROR [IM014] [Microsoft][ODBC Driver Manager] The specified DSN contains a architecture mismatch between Driver and Application。我使用 Windows 7 64 位,Postgres ODBC 64 位驱动程序版本。9.00.0200,Postgres 8.4 32 位。
  2. 我以前从未使用过Dependency Walker。但是我已经从\system32\SysWOW64打开kernel32.dll并且InterlockedIncrement存在于两个文件夹的文件中。
  3. 我有一些TableAdapters,我用它们从 Postgres 中获取数据。这是我在使用WinXP时设置的,现在仍然有效。另一方面,当在 VS2005 中的TableAdapter属性中单击Data->CommandText旁边的“ ... ”时,它会显示一条消息 Failed to call the ODBC driver connection utility。

编辑:我在上面添加了第 1-3 点。

0 投票
3 回答
258 浏览

c# - 是否有可用的 C# 版本的常见 DLLImport 声明?

有许多Win32 API调用/库,如 kernel32 或 shell32,可能对从C#调用很有用。使用它们的一种常见方法是在pinvoke.net网站上查找方法定义,并从那里使用 dllimport 定义。

您希望使用的每种方法都需要此过程。

是否有可用的程序集包含常见/大多数[DllImport]ed API 函数?

我正在寻找可以直接从 C# 使用的东西(作为参考),所以我不必自己收集和组合各种 DLLImport 语句(有错误的风险)。

0 投票
3 回答
1832 浏览

c# - 我需要固定匿名代表吗?

我正在从 C# 应用程序调用 CopyFileEx,并将匿名委托传递给 LPPROGRESS_ROUTINE 参数,以便获取有关文件复制进度的通知。

我的问题是,是否需要固定匿名代表以及为什么(或为什么不)。

此外,如果出现以下情况,答案是否会改变:

  1. CopyFileEx 没有阻塞。
  2. 如果我通过了一个非匿名的代表。

谢谢!

0 投票
2 回答
676 浏览

c# - 将用 C++/CLI 编写的自定义接口设置为 null 可能会导致程序崩溃

我有一个用 C++/CLI 编写的自定义 .Net 接口:

在我的 C# 应用程序中,该接口由以下人员使用:

上面的代码在我的电脑(安装了 Visual Studio)中运行顺利,但在另一台电脑上崩溃了(没有安装 Visual Studio):

如果我删除空分配,代码将在两台计算机上运行:

但是,我用纯 C# 制作了另一个接口。将接口设置为 null 不会使程序崩溃:

我的 C++/CLI 界面有什么问题?

[评论]

我创建了两个“干净”的新项目进行测试,第一个是 C++/CLI 类库(新项目 -> Visual C++ -> CLR -> 类库)。将以下行添加到库的 .h 文件中:

然后创建一个 Windows Form Application 项目(Net Project -> Visual C# -> Windows -> Windows Forms Application)并在主函数中声明一个 ITest 变量:

该程序将在开发计算机(安装了 Visual Studio)中运行,但在另外两台计算机中崩溃。其中一台崩溃的计算机是物理机,另一台是虚拟机。

我正在使用 Windows XP Pro SP3、Visual Studio 2010 和 .Net Framework 4.0。

0 投票
1 回答
3200 浏览

excel - Excel VBA:如何将字符串作为指针传递给附加字符串的过程?

我想将一个字符串作为输入/输出参数传递给一个过程。我知道这不像 VBA 通常可以工作,但这是因为特殊情况。我有一个已经存在的代码生成器工具 - 为文件格式解析器生成代码。而且我不想破解这段代码。生成的语法可以很容易地转换为 vba 使用 text replace 这没什么大不了的(我已经这样做了)。但是很难将程序更改为功能。

我想出的是如何通过传递它的指针来扩展一个字符串。但是如何将字符附加到字符串中?

0 投票
0 回答
437 浏览

vb.net - 动态 API 调用

我想使用 kernel32.dll 的某些功能,但无法定义超过 5 个功能,否则我的防病毒程序会无缘无故弹出 (Avira)。所以我认为我可以使用一个技巧并在运行时调用 API 函数,但唯一的问题是:如何?^^

我知道我必须使用 LoadLibraryExA 和 GetProcAdress,但我不知道如何使用它们从内核加载特定函数。任何

0 投票
1 回答
231 浏览

api - GetProcAdress 总是返回零

我遇到了一个非常神秘的问题。使用函数 GetProcAddress,我总是得到零。

无论我使用“CreateProcess”、“LoadLibrary”还是其他东西,这条线总是返回零。为什么会这样?

功能声明:

0 投票
1 回答
2524 浏览

c# - 为什么 ReadProcessMemory 总是返回零?

给定下面的代码,ReadProcessMemory 总是返回一个零数组。我试图在正在运行的进程中找到一个字符串(可能是数字)并识别该字符串存在的所有位置。但是 ReadProcessMemory 总是返回一个零数组。这是为什么?

  • 我试过以管理员身份运行 VS 并删除不安全的块。
  • processPointer 具有正确的进程句柄值。
  • BaseAddress 确实正确地迭代了一个,并且似乎是我正在寻找的内存位置。
  • 尽管显然没有找到任何匹配项,但它确实运行得相当快。72MB 进程需要几秒钟。

.

0 投票
6 回答
11968 浏览

c++ - CreateProcess 这样子进程在父进程被杀死时被杀死?

有没有办法调用CreateProcess以便杀死父进程自动杀死子进程?

也许使用Create Process Flags

编辑
解决方案是创建一个作业对象,将父级和子级都放在作业对象中。当他的父母被杀时,孩子也被杀了。我从这里得到代码: 杀死父进程时杀死子进程 注意@wilx关于继承句柄的评论。