问题标签 [intptr]
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# - 无法更改打印机的 DEVMODE
我需要更改DEVMODE
当前打印任务的打印机以通过标准和特定于设备的设置。我执行以下操作:
当我尝试PrinterSettings.SetHdevmode
使用 aNullReferenceException
并且没有任何有意义的错误信息执行时,它会失败。d.PrinterSettings
不为 null,则在方法内部引发异常PrinterSettings.SetHdevmode
。
所以我的问题是:出了什么问题?是投错了吗byte[]
?IntPtr
也许期望数组SetHdevmode
以外的东西?byte[]
我byte[] devmode_data
从注册表中获取数组。这是一个有效值,并且与当前打印机设置中使用的值相同。
c# - 跟进:在 WPF 中将窗口置于最前面
我正在尝试向我当前的项目添加一个按钮,按下该按钮会将窗口发送到后面 x 秒,允许用户在其他窗口中工作,然后再次自动回到前面。通过结合How to send a WPF window to back? 并在 WPF 中将一个窗口与 BackgroundWorker 一起放在前面,我能够完成 99% 的工作。按下按钮时,窗口返回到后面,并在指定的秒数后返回。问题是,如果我进入另一个窗口(Opera、Word 等),它永远不会从后面返回。我试着玩这些标志,但似乎无法让它发挥作用。这可能吗?如果是这样,怎么办?
谢谢!
c - error: unknown type name 'intptr_t'
I am receiving this error while compiling a C program in MinGW. As far as I know, I thought 'intptr_t' was a type in the C99 standard. Am I not including a file?
c# - P/调用。如何通过 C# 编组调用非托管方法?
我遇到了 P/Invoke 的问题。我从 c# 代码调用 .dll(在 c++ 上实现)。有一个类,其中包含下一个方法:
AudioFileList
类看起来像:
那么,问题是如何调用CreateAudioFileList
方法并将结果传递给DisposeAudioFileList
C# 代码?谢谢!
com - IntPtr 与 COM 中的 Any
我正在开发一个应该在 C# 和 VBScript 中工作的 COM 对象。它还必须支持 32 位和 64 位。
我遇到的问题是指针。查看我的 .IDL 的一部分
如果我将 PTRTYPE 声明为 void*,c# 将它们视为 IntPtr,而 VB6/VBScript 将它们视为“任意”
这种方法的问题是我不能用“任何”类型参数做更简单的指针数学。
如果我将 PTRTYPE 声明为 long(并且在 64 位中声明为“超”),那么现在我可以进行指针数学运算,但在 C# 中,我对同一方法有两个不同的定义,具体取决于 32/64 位平台。
我希望避免使用 VARIANT 作为 PTRTYPE 类型。
有什么方法可以使它与 C# 和 VBScript 兼容?
在此先感谢,毛罗。
wpf - 如何阻止 FilterMessage 继续进行?
我期待找到一种方法来阻止我的消息继续进行,或者换句话说,让它得到处理。
说,光标位置在文本框,我正在扫描条形码“#Save#”。我使用 WindowProc 识别出这是条形码文本,并且我处理了保存文本(通过保存我的表单),但现在我不想在文本框中写入此文本(“#Save#”)。
因此,简而言之,我正在寻找属性或方法来说明处理此文本(输入)的窗口,不要做任何进一步的操作。
c - 使用 intptr_t 代替 void*?
intptr_t
用作通用存储(保存指针和整数值)而不是是一个好主意void*
吗?(如此处所示:http ://www.crystalspace3d.org/docs/online/manual/Api1_005f0-64_002dBit-Portability-Changes.html )
对于我已经阅读的内容:
int
->void*
->int
往返不保证保持原值;我猜int
->intptr_t
->int
会做void*
两者上的指针算术都intptr_t
需要强制转换,所以这里没有任何优势void*
意味着存储指针时更少的显式转换,intptr_t
意味着存储整数值时更少的强制转换intptr_t
需要 C99
我还应该考虑什么?
c# - 如何将 byte[] 数组转换为 IntPtr?
我正在从内存中读取字符串
然后我将此数组转换为字符串。
我现在遇到了一个问题,因为在程序内存中的地址 003A53D4 下有一个指针,它指向一个字符串。如何获取字符串的地址?谢谢 :)
这就是我尝试过的:
它说(大约第 4 行):
值不能为空。参数名称:目的地
当我将 new IntPtr()更改 为 new IntPtr(1) 它说
尝试读取或写入受保护的内存。这通常表明其他内存已损坏。
c# - 将 IntPtr 指向的内存内容发送到 C# 上的 MemoryStream 变量中
我不熟悉这种语言。
我认为这个问题很清楚,我在调用 dll 函数后收到了一个 intptr,需要将它指向的缓冲区保存到 MemoryStream 变量中。我该怎么做 ?
c# - 如何获取窗口的位置?
我想知道获取进程窗口位置的方法。我一直在互联网上寻找,但没有结果。谢谢 :)