回答編集履歴

2

解決方法の入力

2018/11/07 05:07

投稿

aqaxliy
aqaxliy

スコア13

test CHANGED
@@ -1 +1,15 @@
1
- 動くコードに変更しました
1
+ 一行目を下記のように変更すると正く取得できるようになりました
2
+
3
+ ```vb
4
+
5
+ <StructLayout(LayoutKind.Sequential)> _
6
+
7
+ ```
8
+
9
+
10
+
11
+ ```vb
12
+
13
+ <StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Auto)> _
14
+
15
+ ```

1

質問の変更

2018/11/07 05:07

投稿

aqaxliy
aqaxliy

スコア13

test CHANGED
@@ -1,117 +1 @@
1
- とりあえず次のコードで取得できました
1
+ 動くコードに変更しました
2
-
3
-
4
-
5
- ```vb
6
-
7
- <StructLayout(LayoutKind.Sequential)> _
8
-
9
- Public Structure DEVMODE
10
-
11
- Public Const CCHDEVICENAME As Integer = 32
12
-
13
- Public Const CCHFORMNAME As Integer = 32
14
-
15
-
16
-
17
- <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=CCHDEVICENAME)> _
18
-
19
- Public dmDeviceName As String
20
-
21
- Public dmSpecVersion As Short
22
-
23
- Public dmDriverVersion As Short
24
-
25
- Public dmSize As Short
26
-
27
- Public dmDriverExtra As Short
28
-
29
- Public dmFields As Integer
30
-
31
-
32
-
33
- Public dmOrientation As Short
34
-
35
- Public dmPaperSize As Short
36
-
37
- Public dmPaperLength As Short
38
-
39
- Public dmPaperWidth As Short
40
-
41
-
42
-
43
- Public dmScale As Short
44
-
45
- Public dmCopies As Short
46
-
47
- Public dmDefaultSource As Short
48
-
49
- Public dmPrintQuality As Short
50
-
51
- Public dmColor As Short
52
-
53
- Public dmDuplex As Short
54
-
55
- Public dmYResolution As Short
56
-
57
- Public dmTTOption As Short
58
-
59
- Public dmCollate As Short
60
-
61
- <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=CCHFORMNAME)> _
62
-
63
- Public dmFormName As String
64
-
65
- Public dmLogPixels As Short
66
-
67
- Public dmBitsPerPel As Integer
68
-
69
- Public dmPelsWidth As Integer
70
-
71
- Public dmPelsHeight As Integer
72
-
73
- Public dmDisplayFlags As Integer
74
-
75
- Public dmDisplayFrequency As Integer
76
-
77
-
78
-
79
- Public dmICMMethod As Integer
80
-
81
- Public dmICMIntent As Integer
82
-
83
- Public dmMediaType As Integer
84
-
85
- Public dmDitherType As Integer
86
-
87
- Public dmReserved1 As Integer
88
-
89
- Public dmReserved2 As Integer
90
-
91
- Public dmPanningWidth As Integer
92
-
93
- Public dmPanningHeight As Integer
94
-
95
-
96
-
97
- Public dmPositionX As Integer
98
-
99
- Public dmPositionY As Integer
100
-
101
- End Structure
102
-
103
-
104
-
105
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
106
-
107
- PrintDocument1.PrinterSettings.PrinterName = "Microsoft Print to PDF"
108
-
109
- Dim devmodePtr As IntPtr = PrintDocument1.PrinterSettings.GetHdevmode()
110
-
111
- Dim dm As DEVMODE = CType(Marshal.PtrToStructure(devmodePtr, GetType(DEVMODE)), DEVMODE)
112
-
113
- GlobalFree(devmodePtr)
114
-
115
- End Sub
116
-
117
- ```