Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将变量值从VB6转换为C#以便使用Win32_C#_Vb6 - Fatal编程技术网

将变量值从VB6转换为C#以便使用Win32

将变量值从VB6转换为C#以便使用Win32,c#,vb6,C#,Vb6,我从一些VB6代码中找到了一系列值。我需要把这段代码转换成C。我不知道如何读VB6。如何将此VB6转换为等效的C# 从一个签名判断 [DllImport("coredll.dll")] private static extern IntPtr SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, IntPtr lParam); 这需要这些类型的变量(如Msg param),我相信它们应该是 const int EM\u GETRECT= 我不知道如何

我从一些VB6代码中找到了一系列值。我需要把这段代码转换成C。我不知道如何读VB6。如何将此VB6转换为等效的C#

从一个签名判断

[DllImport("coredll.dll")]
private static extern IntPtr SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, IntPtr lParam);
这需要这些类型的变量(如Msg param),我相信它们应该是

const int EM\u GETRECT=


我不知道如何将
&HB2
更改为int。我想应该是
0x???
,但是我如何将这个小
&HB2
转换为十六进制?

用C表示十六进制十进制值的语法只是0x后跟数字的十六进制表示。(这个表示法在VB6和C中是相同的)所以你写

private const int EM_GETRECT = 0xB2;
Console.WriteLine(EM_GETRECT);
打印出178位小数

最后三个值(后缀为&)是长数据类型的VB变量。
在C#中,数据类型int与VB long相同。 您仍然可以使用C#整数


按预期打印1

用C#表示十六进制十进制值的语法只是0x后跟数字的十六进制表示形式。(这个表示法在VB6和C中是相同的)所以你写

private const int EM_GETRECT = 0xB2;
Console.WriteLine(EM_GETRECT);
打印出178位小数

最后三个值(后缀为&)是长数据类型的VB变量。
在C#中,数据类型int与VB long相同。 您仍然可以使用C#整数


按预期打印1

它只是指示数字以长整数形式读取,格式为十六进制。(在H之后)

如果需要,可以只使用这些值:

const int EM_GETRECT = 0xB2;
const int EM_SETRECT = 0xB3;
const int EM_SCROLLCARET = 0xB7;

const int ES_AUTOHSCROLL = 0x80;
const int ES_AUTOVSCROLL = 0x40;
const int ES_CENTER = 0x1;

它只是表示数字是以长整数形式读出的,格式为十六进制。(在H之后)

如果需要,可以只使用这些值:

const int EM_GETRECT = 0xB2;
const int EM_SETRECT = 0xB3;
const int EM_SCROLLCARET = 0xB7;

const int ES_AUTOHSCROLL = 0x80;
const int ES_AUTOVSCROLL = 0x40;
const int ES_CENTER = 0x1;

@史蒂夫-这种模式似乎适用于前3个。最后3个以
结尾的是什么?&HB2-是十六进制代码&H表示十六进制,表示。。。所以C#等价物是0xB2。你差一点就成功了@史蒂夫-这种模式似乎适用于前3个。最后3个以
结尾的是什么?&HB2-是十六进制代码&H表示十六进制,表示。。。所以C#等价物是0xB2。你差一点就成功了!