Hey Friends!
Does anyone know if MS Access can interface with Smart Cards? I've done about a half-day of searching and have found nothing specific to what I am looking for.
I want Access to be able to pull up the data on a Smart Card and request the user validate their identity using their PIN (a 4-8 digit code that every user is required to have with their Smart Card) and then, once their identity is validated, this could "lock" a record from editing. This would be nothing more than changing a Yes/No flag in the record. Then, once the record is locked, the only person who could unlock and edit the record would be the same person--again, using validation from their Smart Card. (I know that Access does not have fool-proof security)
I am sure this is not inherent with the standard tools in Access and probably requires some advanced playing with APIs or DLLs, which are not my forté, but I'm willing to try. I just don't know where to start.
Anyone have any experience or ideas on this one?
Warmest regards,
twinnyfo
4 12936
twinnyfo,
Try to get a code example from your smart-card vendor. The language really doesn't matter, as the sequence of calls and responses is the critical part. Once you have the code, we can construct a DLL interface and just hoist the example into VBA.
I'm pretty sure you will have no problems dealing with the database, from the your other posts that I've seen.
Luck!
Oralloy
Isn't there a way to simply check the current system to see if there is a Card inserted, and then, scan the card to see what is available? Much like Adobe Acrobat allows Smart Card signatures, regardless of who the vendor is--when I add a signature to a PDF document, it just "knows" what to look for. This is more along the lines of what I am trying to do.
Make sense?
twinnyfo,
Makes sense.
I haven't actually programmed smart-card access, so we are learning together.
As for simple ways, yes, there are - it looks like MSDN examples are the way you might need to go.
I found this smart-card discussion on the MSDN site. It has examples in several languages, including some VBA. It has a download of the samples at the top, so it is likely a very good starting place.
See if that is what you need to get started. Meanwhile, I'll keep looking around.
Luck!
Oralloy
twinnyfo,
Here is some VBA code that I cribbed from HERE, although you might want to read the thread, as it is oriented towards a specific reader - I think the DLL interface is sufficiently portable, however. -
'**************************************************************************
-
' winscard.dll Visual Basic Function Prototypes
-
'**************************************************************************
-
'SCardAccessStartedEvent
-
'http://msdn.microsoft.com/en-us/library/aa379466(VS.85).aspx
-
'HANDLE STDCALL SCardAccessStartedEvent(VOID)
-
Public Declare Function SCardAccessStartedEvent Lib "winscard.dll" () As Long
-
-
'SCardAddReaderToGroup
-
'http://msdn.microsoft.com/en-us/library/aa379468(VS.85).aspx
-
'LONG STDCALL SCardAddReaderToGroupA(SCARDCONTEXT(in), LPCSTR(in), LPCSTR(in))
-
Public Declare Function SCardAddReaderToGroup Lib "winscard.dll" Alias "SCardAddReaderToGroupA" ( _
-
ByVal hContext As Long, _
-
ByVal szReaderName As String, _
-
ByVal szGroupName As String _
-
) As Long
-
-
'SCardBeginTransaction
-
'http://msdn.microsoft.com/en-us/library/aa379469(VS.85).aspx
-
'LONG STDCALL SCardBeginTransaction(SCARDHANDLE(in))
-
Public Declare Function SCardBeginTransaction Lib "winscard.dll" ( _
-
ByVal hCard As Long _
-
) As Long
-
-
'SCardCancel
-
'http://msdn.microsoft.com/en-us/library/aa379470(VS.85).aspx
-
'LONG STDCALL SCardCancel(SCARDCONTEXT(in))
-
Public Declare Function SCardCancel Lib "winscard.dll" ( _
-
ByVal hContext As Long _
-
) As Long
-
-
'SCardConnect
-
'http://msdn.microsoft.com/en-us/library/aa379473(VS.85).aspx
-
'LONG STDCALL SCardConnectA(SCARDCONTEXT(in), LPCSTR(in), DWORD(in), DWORD(in),
-
' LPSCARDHANDLE(out), LPDWORD(out))
-
Public Declare Function SCardConnect Lib "winscard.dll" Alias "SCardConnectA" ( _
-
ByVal hContext As Long, _
-
ByVal szReader As String, _
-
ByVal dwShareMode As Long, _
-
ByVal dwPreferredProtocols As Long, _
-
ByRef phCard As Long, _
-
ByRef pdwActiveProtocol As Long _
-
) As Long
-
-
'SCardControl
-
'http://msdn.microsoft.com/en-us/library/aa379474(VS.85).aspx
-
'LONG STDCALL SCardControl(SCARDHANDLE(in), DWORD(in), LPCVOID(in), DWORD(in),
-
' LPVOID(out), DWORD(in), LPDWORD(out))
-
Public Declare Function SCardControl Lib "winscard.dll" ( _
-
ByVal hCard As Long, _
-
ByVal dwControlCode As Long, _
-
ByRef lpInBuffer As Long, _
-
ByVal nInBufferSize As Long, _
-
ByRef lpOutBuffer As Long, _
-
ByVal nOutBufferSize As Long, _
-
ByRef lpBytesReturned As Long _
-
) As Long
-
-
'SCardDisconnect
-
'http://msdn.microsoft.com/en-us/library/aa379475(VS.85).aspx
-
'LONG STDCALL SCardDisconnect(SCARDHANDLE(in), DWORD(in))
-
Public Declare Function SCardDisconnect Lib "winscard.dll" ( _
-
ByVal hCard As Long, _
-
ByVal dwDisposition As Long _
-
) As Long
-
-
'SCardEndTransaction
-
'http://msdn.microsoft.com/en-us/library/aa379477(VS.85).aspx
-
'LONG STDCALL SCardEndTransaction(SCARDHANDLE(in), DWORD(in))
-
Public Declare Function SCardEndTransaction Lib "winscard.dll" ( _
-
ByVal hCard As Long, _
-
ByVal dwDisposition As Long _
-
) As Long
-
-
'SCardEstablishContext
-
'http://msdn.microsoft.com/en-us/library/aa379479(VS.85).aspx
-
'LONG STDCALL SCardEstablishContext(DWORD(in), LPCVOID(in), LPCVOID(in),
-
' LPSCARDCONTEXT(out))
-
Public Declare Function SCardEstablishContext Lib "winscard.dll" ( _
-
ByVal dwScope As Long, _
-
ByVal pvReserved1 As Long, _
-
ByVal pvReserved2 As Long, _
-
ByRef phContext As Long _
-
) As Long
-
-
'SCardForgetCardType
-
'http://msdn.microsoft.com/en-us/library/aa379482(VS.85).aspx
-
'LONG STDCALL SCardForgetCardTypeA(SCARDCONTEXT(in), LPCSTR(in))
-
Public Declare Function SCardForgetCardType Lib "winscard.dll" Alias "SCardForgetCardTypeA" ( _
-
ByVal hContext As Long, _
-
ByVal szCardName As String _
-
) As Long
-
-
'SCardForgetReader
-
'http://msdn.microsoft.com/en-us/library/aa379484(VS.85).aspx
-
'LONG STDCALL SCardForgetReaderA(SCARDCONTEXT(in), LPCSTR(in))
-
Public Declare Function SCardForgetReader Lib "winscard.dll" Alias "SCardForgetReaderA" ( _
-
ByVal hContext As Long, _
-
ByVal szReaderName As String _
-
) As Long
-
-
'SCardForgetReaderGroup
-
'http://msdn.microsoft.com/en-us/library/aa379486(VS.85).aspx
-
'LONG STDCALL SCardForgetReaderGroupA(SCARDCONTEXT(in), LPCSTR(in))
-
Public Declare Function SCardForgetReaderGroup Lib "winscard.dll" Alias "SCardForgetReaderGroupA" ( _
-
ByVal hContext As Long, _
-
ByVal szGroupName As String _
-
) As Long
-
-
'SCardFreeMemory
-
'http://msdn.microsoft.com/en-us/library/aa379488(VS.85).aspx
-
'LONG STDCALL SCardFreeMemory(SCARDCONTEXT(in), LPCVOID(in))
-
Public Declare Function SCardFreeMemory Lib "winscard.dll" ( _
-
ByVal hContext As Long, _
-
ByVal pvMem As Long _
-
) As Long
-
-
'SCardGetAttrib
-
'http://msdn.microsoft.com/en-us/library/aa379559(VS.85).aspx
-
'LONG STDCALL SCardGetAttrib(SCARDHANDLE(in), DWORD(in), LPBYTE(out), LPDWORD(inout))
-
Public Declare Function SCardGetAttrib Lib "winscard.dll" ( _
-
ByVal hCard As Long, _
-
ByVal dwAttrId As Long, _
-
ByRef pbAttr As ByteArray, _
-
ByRef pcbAttrLen As Long _
-
) As Long
-
-
'SCardGetCardTypeProviderName
-
'http://msdn.microsoft.com/en-us/library/aa379655(VS.85).aspx
-
'LONG STDCALL SCardGetCardTypeProviderNameA(SCARDCONTEXT(in), LPCSTR(in), DWORD(in),
-
' LPSTR(out), LPDWORD(inout))
-
Public Declare Function SCardGetCardTypeProviderName Lib "winscard.dll" Alias "SCardGetCardTypeProviderNameA" ( _
-
ByVal hContext As Long, _
-
ByVal szCardName As String, _
-
ByVal dwProviderId As Long, _
-
ByVal szProvider As String, _
-
ByRef pcchProvider As Long _
-
) As Long
-
-
'SCardGetProviderId
-
'http://msdn.microsoft.com/en-us/library/aa379761(VS.85).aspx
-
'LONG STDCALL SCardGetProviderIdA(SCARDCONTEXT(in), LPCSTR(in), LPGUID(out))
-
Public Declare Function SCardGetProviderId Lib "winscard.dll" Alias "SCardGetProviderIdA" ( _
-
ByVal hContext As Long, _
-
ByVal szCard As String, _
-
ByRef pguidProviderId As GUID _
-
) As Long
-
-
'SCardGetStatusChange
-
'http://msdn.microsoft.com/en-us/library/aa379773(VS.85).aspx
-
'LONG STDCALL SCardGetStatusChangeA(SCARDCONTEXT(in), DWORD(in),
-
' LPSCARD_READERSTATEA(inout), DWORD(in))
-
Public Declare Function SCardGetStatusChange Lib "winscard.dll" Alias "SCardGetStatusChangeA" ( _
-
ByVal hContext As Long, _
-
ByVal dwTimeout As Long, _
-
ByRef rgReaderStates() As SCARD_READERSTATE, _
-
ByVal cReaders As Long _
-
) As Long
-
-
'SCardIntroduceCardType
-
'http://msdn.microsoft.com/en-us/library/aa379784(VS.85).aspx
-
'LONG STDCALL SCardIntroduceCardTypeA(SCARDCONTEXT(in), LPCSTR(in), LPCGUID(in),
-
' LPCGUID(in), DWORD(in), LPCBYTE(in), LPCBYTE(in), DWORD(in))
-
Public Declare Function SCardIntroduceCardType Lib "winscard.dll" Alias "SCardIntroduceCardTypeA" ( _
-
ByVal hContext As Long, _
-
ByVal szCardName As String, _
-
ByRef pguidPrimaryProvider As GUID, _
-
ByRef pguidInterfaces As GUID, _
-
ByVal dwInterfaceCount As Long, _
-
ByVal pbAtr As ByteArray, _
-
ByVal pbAtrMask As ByteArray, _
-
ByVal cbAtrLen As Long _
-
) As Long
-
-
'SCardIntroduceReader
-
'http://msdn.microsoft.com/en-us/library/aa379786(VS.85).aspx
-
'LONG STDCALL SCardIntroduceReaderA(SCARDCONTEXT(in), LPCSTR(in), LPCSTR(in))
-
Public Declare Function SCardIntroduceReader Lib "winscard.dll" Alias "SCardIntroduceReaderA" ( _
-
ByVal hContext As Long, _
-
ByVal szReaderName As String, _
-
ByVal szDeviceName As String _
-
) As Long
-
-
'SCardIntroduceReaderGroup
-
'http://msdn.microsoft.com/en-us/library/aa379787(VS.85).aspx
-
'LONG STDCALL SCardIntroduceReaderGroupA(SCARDCONTEXT(in), LPCSTR(in))
-
Public Declare Function SCardIntroduceReaderGroup Lib "winscard.dll" Alias "SCardIntroduceReaderGroupA" ( _
-
ByVal hContext As Long, _
-
ByVal szGroupName As String _
-
) As Long
-
-
'SCardIsValidContext
-
'http://msdn.microsoft.com/en-us/library/aa379788(VS.85).aspx
-
'LONG STDCALL SCardIsValidContext(SCARDCONTEXT(in))
-
Public Declare Function SCardIsValidContext Lib "winscard.dll" ( _
-
ByVal hContext As Long _
-
) As Long
-
-
'SCardListCards
-
'http://msdn.microsoft.com/en-us/library/aa379789(VS.85).aspx
-
'LONG STDCALL SCardListCardsA(SCARDCONTEXT(in), LPCBYTE(in), LPCGUID(in), DWORD(in),
-
' LPCSTR(out), LPDWORD(inout))
-
Public Declare Function SCardListCards Lib "winscard.dll" Alias "SCardListCardsA" ( _
-
ByVal hContext As Long, _
-
ByVal pbAtr As ByteArray, _
-
ByVal rgguidInterfaces As Long, _
-
ByVal cguidInterfaceCount As Long, _
-
ByVal mszCards As String, _
-
ByRef pcchCards As Long _
-
) As Long
-
-
'SCardListInterfaces
-
'http://msdn.microsoft.com/en-us/library/aa379790(VS.85).aspx
-
'LONG STDCALL SCardListInterfacesA(SCARDCONTEXT(in), LPCSTR(in), LPGUID(out),
-
' LPDWORD(inout))
-
Public Declare Function SCardListInterfaces Lib "winscard.dll" Alias "SCardListInterfacesA" ( _
-
ByVal hContext As Long, _
-
ByVal szCard As String, _
-
ByRef pguidInterfaces As GUID, _
-
ByRef pcguidInterfaces As Long _
-
) As Long
-
-
'SCardListReaderGroups
-
'http://msdn.microsoft.com/en-us/library/aa379792(VS.85).aspx
-
'LONG STDCALL SCardListReaderGroupsA(SCARDCONTEXT(in), LPSTR(out), LPDWORD(inout))
-
Public Declare Function SCardListReaderGroups Lib "winscard.dll" Alias "SCardListReaderGroupsA" ( _
-
ByVal hContext As Long, _
-
ByVal mszGroups As String, _
-
ByRef pcchGroups As Long _
-
) As Long
-
-
'SCardListReaders
-
'http://msdn.microsoft.com/en-us/library/aa379793(VS.85).aspx
-
'LONG STDCALL SCardListReadersA(SCARDCONTEXT(in), LPCSTR(in), LPSTR(out), LPDWORD(inout))
-
Public Declare Function SCardListReaders Lib "winscard.dll" Alias "SCardListReadersA" ( _
-
ByVal hContext As Long, _
-
ByVal mszGroups As String, _
-
ByVal mszReaders As String, _
-
ByRef pcchReaders As Long _
-
) As Long
-
-
'SCardLocateCards
-
'http://msdn.microsoft.com/en-us/library/aa379794(VS.85).aspx
-
'LONG STDCALL SCardLocateCardsA(SCARDCONTEXT(in), LPCSTR(in),
-
' LPSCARD_READERSTATEA(inout), DWORD(in))
-
Public Declare Function SCardLocateCards Lib "winscard.dll" Alias "SCardLocateCardsA" ( _
-
ByVal hContext As Long, _
-
ByVal mszCards As String, _
-
ByRef rgReaderStates() As SCARD_READERSTATE, _
-
ByVal cReaders As Long _
-
) As Long
-
-
'SCardLocateCardsByATR
-
'http://msdn.microsoft.com/en-us/library/aa379796(VS.85).aspx
-
'LONG STDCALL SCardLocateCardsByATRA(SCARDCONTEXT(in), LPSCARD_ATRMASK(in), DWORD(in),
-
' LPSCARD_READERSTATEA(inout), DWORD(in))
-
Public Declare Function SCardLocateCardsByATR Lib "winscard.dll" Alias "SCardLocateCardsByATRA" ( _
-
ByVal hContext As Long, _
-
ByRef rgAtrMasks() As SCARD_ATRMASK, _
-
ByVal cAtrs As Long, _
-
ByRef rgReaderStates() As SCARD_READERSTATE, _
-
ByVal cReaders As Long _
-
) As Long
-
-
'SCardReconnect
-
'http://msdn.microsoft.com/en-us/library/aa379797(VS.85).aspx
-
'LONG STDCALL SCardReconnect(SCARDHANDLE(in), DWORD(in), DWORD(in), DWORD(in),
-
' LPDWORD(out))
-
Public Declare Function SCardReconnect Lib "winscard.dll" ( _
-
ByVal hCard As Long, _
-
ByVal dwShareMode As Long, _
-
ByVal dwPreferredProtocols As Long, _
-
ByVal dwInitialization As Long, _
-
ByRef pdwActiveProtocol As Long _
-
) As Long
-
-
'SCardReleaseContext
-
'http://msdn.microsoft.com/en-us/library/aa379798(VS.85).aspx
-
'LONG STDCALL SCardReleaseContext(SCARDCONTEXT(in))
-
Public Declare Function SCardReleaseContext Lib "winscard.dll" ( _
-
ByVal hContext As Long _
-
) As Long
-
-
'SCardReleaseStartedEvent
-
'http://msdn.microsoft.com/en-us/library/aa379799(VS.85).aspx
-
'VOID STDCALL SCardReleaseStartedEvent(HANDLE(in))
-
Public Declare Sub SCardReleaseStartedEvent Lib "winscard.dll" ( _
-
ByVal hStartedEventHandle As Long _
-
)
-
-
'SCardRemoveReaderFromGroup
-
'http://msdn.microsoft.com/en-us/library/aa379800(VS.85).aspx
-
'LONG STDCALL SCardRemoveReaderFromGroupA(SCARDCONTEXT(in), LPCSTR(in), LPCSTR(in))
-
Public Declare Function SCardRemoveReaderFromGroup Lib "winscard.dll" Alias "SCardRemoveReaderFromGroupA" ( _
-
ByVal hContext As Long, _
-
ByVal szReaderName As String, _
-
ByVal szGroupName As String _
-
) As Long
-
-
'SCardSetAttrib
-
'http://msdn.microsoft.com/en-us/library/aa379801(VS.85).aspx
-
'LONG STDCALL SCardSetAttrib(SCARDHANDLE(in), DWORD(in), LPCBYTE(in), DWORD(in))
-
Public Declare Function SCardSetAttrib Lib "winscard.dll" ( _
-
ByVal hCard As Long, _
-
ByVal dwAttrId As Long, _
-
ByVal pbAttr As ByteArray, _
-
ByVal cbAttrLen As Long _
-
) As Long
-
-
'SCardSetCardTypeProviderName
-
'http://msdn.microsoft.com/en-us/library/aa379802(VS.85).aspx
-
'LONG STDCALL SCardSetCardTypeProviderNameA(SCARDCONTEXT(in), LPCSTR(in), DWORD(in),
-
' LPCSTR(in))
-
Public Declare Function SCardSetCardTypeProviderName Lib "winscard.dll" Alias "SCardSetCardTypeProviderNameA" ( _
-
ByVal hContext As Long, _
-
ByVal szCardName As String, _
-
ByVal dwProviderId As Long, _
-
ByVal szProvider As String _
-
) As Long
-
-
'SCardState
-
'LONG STDCALL SCardState(SCARDHANDLE(in), LPDWORD(out), LPDWORD(out), LPBYTE(out),
-
' LPDWORD(out))
-
Public Declare Function SCardState Lib "winscard.dll" ( _
-
ByVal hCard As Long, _
-
ByRef pdwState As Long, _
-
ByRef pdwProtocol As Long, _
-
ByRef pbAtr As ByteArray, _
-
ByRef pcbAtrLen As Long _
-
) As Long
-
-
'SCardStatus
-
'http://msdn.microsoft.com/en-us/library/aa379803(VS.85).aspx
-
'LONG STDCALL SCardStatusA(SCARDHANDLE(in), LPSTR(out), LPDWORD(inout), LPDWORD(out),
-
' LPDWORD(out), LPBYTE(out), LPDWORD(inout))
-
Public Declare Function SCardStatus Lib "winscard.dll" Alias "SCardStatusA" ( _
-
ByVal hCard As Long, _
-
ByVal szReaderName As String, _
-
ByRef pcchReaderLen As Long, _
-
ByRef pdwState As Long, _
-
ByRef pdwProtocol As Long, _
-
ByRef pbAtr As ByteArray, _
-
ByRef pcbAtrLen As Long _
-
) As Long
-
-
'SCardTransmit
-
'http://msdn.microsoft.com/en-us/library/aa379804.aspx
-
'LONG STDCALL SCardTransmit(SCARDHANDLE(in), LPCSCARD_IO_REQUEST(in), LPCBYTE(in),
-
' DWORD(in), LPSCARD_IO_REQUEST(inout), LPBYTE(out), LPDWORD(inout))
-
Public Declare Function SCardTransmit Lib "winscard.dll" ( _
-
ByVal hCard As Long, _
-
ByRef pioSendPci As SCARD_IO_REQUEST, _
-
ByRef pbSendBuffer As Byte, _
-
ByVal cbSendLength As Long, _
-
ByRef pioRecvPci As SCARD_IO_REQUEST, _
-
ByRef pbRecvBuffer As Byte, _
-
ByRef pcbRecvLength As Long _
-
) As Long
-
-
Public Declare Function SCardTransmitLong Lib "winscard.dll" Alias "SCardTransmit" ( _
-
ByVal hCard As Long, _
-
ByRef pioSendPci As SCARD_IO_REQUEST, _
-
ByRef pbSendBuffer As Byte, _
-
ByVal cbSendLength As Long, _
-
ByVal pioRecvPci As Long, _
-
ByRef pbRecvBuffer As Byte, _
-
ByRef pcbRecvLength As Long _
-
) As Long
-
Sign in to post your reply or Sign up for a free account.
Similar topics
by: Bon |
last post by:
Hello all
Would it be possible to migrate the MS Access 2000 to MS SQL Server
2000?
My application is using MS Access 2000 as database and as user
interface such as forms. Now, I want to...
|
by: E. Robert Tisdale |
last post by:
I have access to a wide variety of different platforms here at JPL
and they all have pretty good C 99 compilers.
Some people claim that they have not moved to the new standard
because of the...
|
by: Jorge Lanza |
last post by:
Hi.
Has anybody developed a C# class for managing SmartCards?
I'm doing one, but as I'm not an expert the class will be quite a mess :)
And if someone has done the work, what on doing it again?...
|
by: Thomas Mobley |
last post by:
Anyone have any pointers to smart card programming for c#? I have
alot of experience with them in vb, but i'm getting nowhere in c#.
|
by: noodles |
last post by:
I have a ASP.Net application, and I want to authenticate the user against a smart card. Can anyone help me out? Sample code would be great, but if someone could point me in the right direction that...
|
by: Harold Hsu |
last post by:
Hi all,
What's the default access type of a property declared in an interface? The
one I'm looking at is IBindingList:
Public Interface IBindingList
....
ReadOnly Property AllowEdit As...
|
by: Al |
last post by:
Hi,
I am looking for Smart Card samples in preferably Vb.Net but C# or other
languages would be fine. I am specially looking for ATM example code for
Smart Cards.
Any suggest as where I should...
|
by: kmeezy |
last post by:
Hi all,
As a learning project I would like to recreate a project that I made in
MS Access within ASP.NET. Could someone help by commenting on the
correctness of my statements below and also by...
|
by: topthebookie |
last post by:
Is there a way to process credit cards within microsoft access? Any information you can provide is appreciated.
Thank You
|
by: Tad Parker |
last post by:
My wife and I have a home business selling shirts to schools. Right now, much of the data is still pen and paper. We're at the point where we are about to move all of our current orders to forms...
|
by: nemocccc |
last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
|
by: Sonnysonu |
last post by:
This is the data of csv file
1 2 3
1 2 3
1 2 3
1 2 3
2 3
2 3
3
the lengths should be different i have to store the data by column-wise with in the specific length.
suppose the i have to...
|
by: Hystou |
last post by:
There are some requirements for setting up RAID:
1. The motherboard and BIOS support RAID configuration.
2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
|
by: jinu1996 |
last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
|
by: Hystou |
last post by:
Overview:
Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
|
by: tracyyun |
last post by:
Dear forum friends,
With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
|
by: agi2029 |
last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
|
by: isladogs |
last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM).
In this session, we are pleased to welcome a new...
|
by: TSSRALBI |
last post by:
Hello
I'm a network technician in training and I need your help.
I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs.
The...
| |