====================================================================================================
【C言語 C++】
====================================================================================================
#include <windows.h>
int main() {
    //▼ここから
    HINSTANCE hDll;
    int (*CipherNumber)();
    int (*Confirmation)(const char*, const char*);
    if (((hDll = LoadLibrary("PGSHIELD.dll"))) == NULL) { //LOAD DLL
        exit(1);
    }
    CipherNumber = (int (*)())GetProcAddress(hDll, "CipherNumber");
    Confirmation = (int (*)(const char*, const char*))GetProcAddress(hDll, "Confirmation");
    const char *key = "企業識別番号が自動設定されます"; //COMPANY CODE
    if (CipherNumber() != Confirmation("製品名が自動設定されます", key)) { //LICENSE ACTIVATION
        FreeLibrary(hDll);
       exit(1);
    }
    FreeLibrary(hDll);
    //▲ここまで
    //▽ここから通常の処理を記述▽

    return (0);
}
====================================================================================================
【Visual Basic】
====================================================================================================
Imports System.Runtime.InteropServices
Module Module1
    ' ▼ここから
    <DllImport("PGSHIELD.dll", CallingConvention:=CallingConvention.Cdecl)>
    Private Function CipherNumber() As Integer
    End Function
    <DllImport("PGSHIELD.dll", CallingConvention:=CallingConvention.Cdecl)>
    Private Function Confirmation(ByVal data As String, ByVal key As String) As Integer
    End Function
    ' ▲ここまで
    Sub Main()
        ' ▼ここから
        Dim key As String = "企業識別番号が自動設定されます" ' COMPANY CODE
        If CipherNumber() <> Confirmation("製品名が自動設定されます", key) Then ' LICENSE ACTIVATION
            End
        End If
        ' ▲ここまで
        ' ▽ここから通常の処理を記述▽

    End Sub
End Module
====================================================================================================
【Java】
====================================================================================================
import com.sun.jna.Library;
import com.sun.jna.Native;
import com.sun.jna.Pointer;
public class Main {
    // ▼ここから
    public interface PGShield extends Library {
        PGShield INSTANCE = (PGShield) Native.load("PGSHIELD", PGShield.class);
        int CipherNumber();
        int Confirmation(String data, String key);
    }
    // ▲ここまで
    public static void main(String[] args) {
        // ▼ここから
        PGShield pgShield = PGShield.INSTANCE;
        String key = "企業識別番号が自動設定されます"; // COMPANY CODE
        if (pgShield.CipherNumber() != pgShield.Confirmation("製品名が自動設定されます", key)) { // LICENSE ACTIVATION
            System.exit(1);
        }
        // ▲ここまで
        // ▽ここから通常の処理を記述▽

    }
}
====================================================================================================
【Delphi】
====================================================================================================
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils,
    Windows;
// ▼ここから
type
    TCipherNumber = function: Integer; stdcall;
    TConfirmation = function(data, key: PAnsiChar): Integer; stdcall;
var
    hDll: HMODULE;
    CipherNumber: TCipherNumber;
    Confirmation: TConfirmation;
    key: AnsiString;
// ▲ここまで
begin
  // ▼ここから
    hDll := LoadLibrary('PGSHIELD.dll');
    if hDll = 0 then
        Exit;
    @CipherNumber := GetProcAddress(hDll, 'CipherNumber');
    @Confirmation := GetProcAddress(hDll, 'Confirmation');
    if not Assigned(CipherNumber) or not Assigned(Confirmation) then
    begin
        FreeLibrary(hDll);
        Exit;
    end;
    key := '企業識別番号が自動設定されます'; // COMPANY CODE
    if CipherNumber() <> Confirmation('製品名が自動設定されます', PAnsiChar(key)) then
    begin
        FreeLibrary(hDll);
        Exit;
    end;
    FreeLibrary(hDll);
    // ▲ここまで
    // ▽ここから通常の処理を記述▽

end.
====================================================================================================
【C#】
====================================================================================================
using System;
using System.Runtime.InteropServices;
class Program
{
    // ▼ここから
    [DllImport("PGSHIELD.dll", CallingConvention = CallingConvention.Cdecl)]
    private static extern int CipherNumber();
    [DllImport("PGSHIELD.dll", CallingConvention = CallingConvention.Cdecl)]
    private static extern int Confirmation(string data, string key);
    // ▲ここまで
    static void Main()
    {
        // ▼ここから
        string key = "企業識別番号が自動設定されます"; // COMPANY CODE
        if (CipherNumber() != Confirmation("製品名が自動設定されます", key))
        {
            Environment.Exit(1);
        }
        // ▲ここまで
        // ▽ここから通常の処理を記述▽

    }
}
====================================================================================================
【Python】
====================================================================================================
import ctypes
# ▼ここから
hDll = ctypes.CDLL("PGSHIELD.dll")
CipherNumber = hDll.CipherNumber
CipherNumber.restype = ctypes.c_int
Confirmation = hDll.Confirmation
Confirmation.argtypes = [ctypes.c_char_p, ctypes.c_char_p]
Confirmation.restype = ctypes.c_int
key = b"企業識別番号が自動設定されます"
if CipherNumber() != Confirmation(b"製品名が自動設定されます", key):
    exit(1)
ctypes.windll.kernel32.FreeLibrary(ctypes.cast(hDll._handle, ctypes.POINTER(ctypes.c_void_p)))
# ▲ここまで
# ▽ここから通常の処理を記述▽

====================================================================================================
【Go】
====================================================================================================
package main
import "C"
import (
    "fmt"
    "unsafe"
)
func main() {
    // ▼ここから
    hDll := C.LoadLibrary(C.CString("PGSHIELD.dll"))
    if hDll == nil {
        return
    }
    CipherNumber := C.GetProcAddress(hDll, C.CString("CipherNumber"))
    Confirmation := C.GetProcAddress(hDll, C.CString("Confirmation"))
    key := "企業識別番号が自動設定されます" // COMPANY CODE
    cipherNumFunc := *(*func() int)(unsafe.Pointer(&CipherNumber))
    confirmFunc := *(*func(*C.char, *C.char) int)(unsafe.Pointer(&Confirmation))
    if cipherNumFunc() != confirmFunc(C.CString("製品名が自動設定されます"), C.CString(key)) {
        C.FreeLibrary(hDll)
        return
    }
    C.FreeLibrary(hDll)
    // ▲ここまで
    // ▽ここから通常の処理を記述▽

}
====================================================================================================
【その他】

  目的の言語がない場合は、ChatGPTやCopilot以下のように質問して目的の言語を取得してください。
 

  ◇以下に添付するC言語のプログラムを「目的の言語」に変換してください。

====================================================================================================