SYSTEM_POWER_STATUS
구조를 사용하여 Windows에서 작동하는 코드는 다음과 같습니다.
이 작업을 수행하려면 (Maven) 종속성에 jna
을 추가해야합니다. 코드에서
import java.util.ArrayList;
import java.util.List;
import com.sun.jna.Native;
import com.sun.jna.Structure;
import com.sun.jna.win32.StdCallLibrary;
public interface Kernel32 extends StdCallLibrary
{
public Kernel32 INSTANCE = (Kernel32) Native.loadLibrary("Kernel32",
Kernel32.class);
public class SYSTEM_POWER_STATUS extends Structure
{
public byte ACLineStatus;
@Override
protected List<String> getFieldOrder()
{
ArrayList<String> fields = new ArrayList<String>();
fields.add("ACLineStatus");
return fields;
}
public boolean isPlugged()
{
return ACLineStatus == 1;
}
}
public int GetSystemPowerStatus(SYSTEM_POWER_STATUS result);
}
는 다음과 같이 호출 :
Kernel32.SYSTEM_POWER_STATUS batteryStatus = new Kernel32.SYSTEM_POWER_STATUS();
Kernel32.INSTANCE.GetSystemPowerStatus(batteryStatus);
System.out.println(batteryStatus.isPlugged());
결과 :
true if charger is plugged in false otherwise
이 BalsusC's answer을 유도하고있다.
플랫폼에 따라 플랫폼 (OS)을 알면 도움이됩니다. – jsight
그냥 왜 동성애 동사를 사용하는 이유는 궁금? 이상하게 들린다. 다른 단어를 사용 하시겠습니까? 아니면 일종의 이메일 API입니까? – Victor
나는 창 전망을 사용하고있다 그리고 "친밀한"오식은 "알려"있어야했다 : $. – vcosk