问题标签 [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.
c# - kernel32.dll Sleep 和 Thread.Sleep() 之间的任何区别
以下之间是否有任何区别(性能,实现。.whatever):
一世)
..然后调用睡眠功能
ii)
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 位下运行。
有关该问题的更新信息(来自我对评论的回复,但不仅如此):
- 当我尝试向我的 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 位。
- 我以前从未使用过Dependency Walker。但是我已经从\system32和\SysWOW64打开kernel32.dll并且InterlockedIncrement存在于两个文件夹的文件中。
- 我有一些TableAdapters,我用它们从 Postgres 中获取数据。这是我在使用WinXP时设置的,现在仍然有效。另一方面,当在 VS2005 中的TableAdapter属性中单击Data->CommandText旁边的“ ... ”时,它会显示一条消息 Failed to call the ODBC driver connection utility。
编辑:我在上面添加了第 1-3 点。
c# - 是否有可用的 C# 版本的常见 DLLImport 声明?
有许多Win32 API调用/库,如 kernel32 或 shell32,可能对从C#调用很有用。使用它们的一种常见方法是在pinvoke.net网站上查找方法定义,并从那里使用 dllimport 定义。
您希望使用的每种方法都需要此过程。
是否有可用的程序集包含常见/大多数[DllImport]
ed API 函数?
我正在寻找可以直接从 C# 使用的东西(作为参考),所以我不必自己收集和组合各种 DLLImport 语句(有错误的风险)。
c# - 我需要固定匿名代表吗?
我正在从 C# 应用程序调用 CopyFileEx,并将匿名委托传递给 LPPROGRESS_ROUTINE 参数,以便获取有关文件复制进度的通知。
我的问题是,是否需要固定匿名代表以及为什么(或为什么不)。
此外,如果出现以下情况,答案是否会改变:
- CopyFileEx 没有阻塞。
- 如果我通过了一个非匿名的代表。
谢谢!
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。
excel - Excel VBA:如何将字符串作为指针传递给附加字符串的过程?
我想将一个字符串作为输入/输出参数传递给一个过程。我知道这不像 VBA 通常可以工作,但这是因为特殊情况。我有一个已经存在的代码生成器工具 - 为文件格式解析器生成代码。而且我不想破解这段代码。生成的语法可以很容易地转换为 vba 使用 text replace 这没什么大不了的(我已经这样做了)。但是很难将程序更改为功能。
我想出的是如何通过传递它的指针来扩展一个字符串。但是如何将字符附加到字符串中?
vb.net - 动态 API 调用
我想使用 kernel32.dll 的某些功能,但无法定义超过 5 个功能,否则我的防病毒程序会无缘无故弹出 (Avira)。所以我认为我可以使用一个技巧并在运行时调用 API 函数,但唯一的问题是:如何?^^
我知道我必须使用 LoadLibraryExA 和 GetProcAdress,但我不知道如何使用它们从内核加载特定函数。任何
api - GetProcAdress 总是返回零
我遇到了一个非常神秘的问题。使用函数 GetProcAddress,我总是得到零。
无论我使用“CreateProcess”、“LoadLibrary”还是其他东西,这条线总是返回零。为什么会这样?
功能声明:
c# - 为什么 ReadProcessMemory 总是返回零?
给定下面的代码,ReadProcessMemory 总是返回一个零数组。我试图在正在运行的进程中找到一个字符串(可能是数字)并识别该字符串存在的所有位置。但是 ReadProcessMemory 总是返回一个零数组。这是为什么?
- 我试过以管理员身份运行 VS 并删除不安全的块。
- processPointer 具有正确的进程句柄值。
- BaseAddress 确实正确地迭代了一个,并且似乎是我正在寻找的内存位置。
- 尽管显然没有找到任何匹配项,但它确实运行得相当快。72MB 进程需要几秒钟。
.
c++ - CreateProcess 这样子进程在父进程被杀死时被杀死?
有没有办法调用CreateProcess以便杀死父进程自动杀死子进程?
也许使用Create Process Flags?
编辑
解决方案是创建一个作业对象,将父级和子级都放在作业对象中。当他的父母被杀时,孩子也被杀了。我从这里得到代码:
杀死父进程时杀死子进程
注意@wilx关于继承句柄的评论。