質問編集履歴

5

不要な情報の削除

2021/09/02 07:25

投稿

dayjirou123
dayjirou123

スコア1

test CHANGED
File without changes
test CHANGED
File without changes

4

不要な情報の削除

2021/09/02 07:25

投稿

dayjirou123
dayjirou123

スコア1

test CHANGED
@@ -1 +1 @@
1
- Pythonでwinscard.dllを使用したい
1
+ Pythonでwinscard.dllを使用したいが型エラーが出る
test CHANGED
@@ -66,23 +66,11 @@
66
66
 
67
67
  lib.SCardEstablishContext.restype = ctypes.c_long
68
68
 
69
- # SCardListReaders
70
-
71
- lib.SCardListReadersA.argtypes = (ctypes.POINTER(ctypes.c_long), ctypes.POINTER(ctypes.c_char)
72
-
73
- ,ctypes.POINTER(ctypes.c_char), ctypes.POINTER(ctypes.c_long))
74
69
 
75
70
 
76
71
 
77
72
 
78
73
 
79
-
80
-
81
- def SCardListReaders(hContext, mzGroup, ReaderList, pcchReaders):
82
-
83
- result = lib.SCardListReadersA(hContext, mzGroup, ReaderList, pcchReaders)
84
-
85
- return result
86
74
 
87
75
 
88
76
 
@@ -97,18 +85,6 @@
97
85
  return hcontext
98
86
 
99
87
 
100
-
101
- def ListReaders(hcontext):
102
-
103
-
104
-
105
- pcchReaders = 256
106
-
107
- ret = SCardListReaders(hcontext, None, None, ctypes.c_wchar_p(pcchReaders))
108
-
109
- print(hcontext)
110
-
111
- print(ret)
112
88
 
113
89
 
114
90
 
@@ -148,8 +124,6 @@
148
124
 
149
125
  `print("con:" + str(type(hcontext)))`
150
126
 
151
-
152
-
153
127
  としたところでは、
154
128
 
155
129
  ` con:<class '_ctypes.PyCPointerType'>`

3

不要な情報の削除

2021/09/02 07:23

投稿

dayjirou123
dayjirou123

スコア1

test CHANGED
@@ -1 +1 @@
1
- Python  winscard.dll を使用したいが型指定がうまくいかない
1
+ Pythonでwinscard.dllを使用したい
test CHANGED
@@ -4,75 +4,21 @@
4
4
 
5
5
 
6
6
 
7
- ACCESS⁻VBAで動いているカードリーダーに読み込ませた
7
+ カードリーダーを認識
8
8
 
9
9
  マイナンバーカードから電子署名するプログラムを
10
10
 
11
- Pythonでも動くようにしたいです。
11
+ Pythonで作成したいです。
12
12
 
13
13
 
14
14
 
15
-
16
-
17
- まずはPython で winscard.dll を使て、
15
+ WEBで調べたところ、winscard.dll を使うとカードリーダーの認識・接続ができるとのことでた。
18
-
19
- カードリーダーの認識をしたいのですがうまくいきません。
20
-
21
- ACCESS⁻VBAのプログラムでは、カードリーダーは認識できています。
22
16
 
23
17
 
24
18
 
19
+ 型指定したほうが良いとアドバイスをいただいたので、
25
20
 
26
-
27
- VBAで以下のように指定しているものをPythonで指定してみたのですがうまくいきません。
28
-
29
-
30
-
31
- ```VBA
32
-
33
- '① SCardEstablishContext …ICカードリソースマネージャへ接続(ICカードーリーダー利用開始)
34
-
35
- Declare Function SCardEstablishContext Lib "WinScard.dll" (ByVal dwScope As Long, ByVal pvReserved1 As Long, ByVal pvReserved2 As Long, hContext As Long) As Long
36
-
37
-
38
-
39
- '② SCardListReaders …ICカードリーダの情報取得(現在接続されているカードリーダの名前を取得する)
40
-
41
- Declare Function SCardListReadersA Lib "WinScard.dll" (ByVal hContext As Long, ByVal mzGroup As String, ByVal ReaderList As String, ByRef pcchReaders As Long) As Long
42
-
43
-
44
-
45
- '③ SCardConnect …ICカードに接続(正しくカードがセットされているか確認)
46
-
47
- Declare Function SCardConnectA Lib "WinScard.dll" (ByVal hContext As Long, ByVal szReaderName As String, ByVal dwShareMode As Long, ByVal dwPrefProtocol As Long, ByRef hCard As Long, ByRef activeProtocol As Long) As Long
48
-
49
-
50
-
51
- 'ICカードリーダーの情報を保持する構造体
52
-
53
- Private Type SCARD_READSTATE
54
-
55
- szReader As String
56
-
57
- pvUserData As Long
58
-
59
- dwCurrentState As Long
60
-
61
- dwEventState As Long
62
-
63
- cbAtr As Long
64
-
65
- rgbAtr(36) As Byte
66
-
67
- End Type
68
-
69
-
70
-
71
- Dim hContext As Long
72
-
73
- Dim readerState As SCARD_READSTATE
74
-
75
- ```
21
+ .argtypesを使用しています。
76
22
 
77
23
 
78
24
 

2

書式の改善

2021/09/02 07:20

投稿

dayjirou123
dayjirou123

スコア1

test CHANGED
@@ -1 +1 @@
1
- Python で winscard.dll を使用して、カードリーダーを認識したい
1
+ Python で winscard.dll を使用したいが型指定がうまくいかない
test CHANGED
File without changes

1

誤字

2021/09/02 07:10

投稿

dayjirou123
dayjirou123

スコア1

test CHANGED
File without changes
test CHANGED
@@ -230,6 +230,4 @@
230
230
 
231
231
 
232
232
 
233
- また、投稿も初めてなのでおかしいとことがあったらすみません。
234
-
235
233
  よろしくお願いします。