Вы можете сделать это с помощью памяти кучи (через вызов malloc () ), как и другие ответы, описанные здесь, но вы всегда должны управлять памятью (используйте функцию free () каждый раз, когда вы вызываете свою функцию). Вы также можете сделать это со статическим массивом:
char* returnArrayPointer()
{
static char array[SIZE];
// do something in your array here
return array;
}
Вы можете использовать его, не беспокоясь об управлении памятью.
int main()
{
char* myArray = returnArrayPointer();
/* use your array here */
/* don't worry to free memory here */
}
В этом примере вы должны использовать статическое ключевое слово в определение массива, чтобы установить продолжительность жизни массива в приложении, поэтому он не будет уничтожен после оператора return. Разумеется, таким образом вы занимаете байты SIZE в своей памяти на весь срок службы приложения, поэтому его размер будет правильным!
Я использую этот код, чтобы помешать моей рабочей станции блокировать. Это в настоящее время только установлено переместить мышь один раз в минуту, Вы могли легко скорректировать его все же.
Это - взлом, не изящное решение.
import java.awt.*;
import java.util.*;
public class Hal{
public static void main(String[] args) throws Exception{
Robot hal = new Robot();
Random random = new Random();
while(true){
hal.delay(1000 * 60);
int x = random.nextInt() % 640;
int y = random.nextInt() % 480;
hal.mouseMove(x,y);
}
}
}
Я услышал истории людей, получающих большой сабвуфер, затем передаю запись на ленту по каналу крышки поля к вершине. Можно тогда поместить мышь в поле и сделать погромче музыку. Предпочтительно что-то с большим количеством баса, который будет поддерживать движение мыши вокруг.
Я просто сделал бы функцию (или загрузил бы бесплатное приложение), который перемещает мышь. Неэлегантный, но легкий.
Выполните команду в таймере как проверка с помощью ping-запросов сервера..
Я использовал pmset для управления режимом ожидания на моем Mac некоторое время теперь, и довольно легко интегрироваться. Вот грубый пример того, как Вы могли назвать ту программу от Java для отключения/разрешения режима ожидания. Обратите внимание необходимость в полномочиях пользователя root выполнить pmset, и поэтому Вам будут нужны они для запущения этой программы.
import java.io.BufferedInputStream;
import java.io.IOException;
/**
* Disable sleep mode (record current setting beforehand), and re-enable sleep
* mode. Works with Mac OS X using the "pmset" command.
*/
public class SleepSwitch {
private int sleepTime = -1;
public void disableSleep() throws IOException {
if (sleepTime != -1) {
// sleep time is already recorded, assume sleep is disabled
return;
}
// query pmset for the current setting
Process proc = Runtime.getRuntime().exec("pmset -g");
BufferedInputStream is = new BufferedInputStream(proc.getInputStream());
StringBuffer output = new StringBuffer();
int c;
while ((c = is.read()) != -1) {
output.append((char) c);
}
is.close();
// parse the current setting and store the sleep time
String outString = output.toString();
String setting = outString.substring(outString.indexOf(" sleep\t")).trim();
setting = setting.substring(7, setting.indexOf(" ")).trim();
sleepTime = Integer.parseInt(setting);
// set the sleep time to zero (disable sleep)
Runtime.getRuntime().exec("pmset sleep 0");
}
public void enableSleep() throws IOException {
if (sleepTime == -1) {
// sleep time is not recorded, assume sleep is enabled
return;
}
// set the sleep time to the previously stored value
Runtime.getRuntime().exec("pmset sleep " + sleepTime);
// reset the stored sleep time
sleepTime = -1;
}
}
Не было бы легче отключить управление питанием на сервере? Можно было бы утверждать, что серверы не должны входить в powersave режим?
Не был бы все предложения, перемещающие мышь назад и вперед, сводят пользователя с ума? Я знаю, что удалил бы любое приложение, которое сделает это, как только я могу изолировать его.
У меня есть метод очень "в лоб" перемещения мыши 1 точка в направлении X и затем обратно каждые 3 минуты.
Там может меня более изящное решение, но это - быстрое исправление.
В Windows используйте функция SystemParametersInfo. Это - швейцарская функция армейского стиля, которая позволяет Вам получить/установить все виды параметров настройки системы.
Для отключения экрана отключение, например:
SystemParametersInfo( SPI_SETPOWEROFFACTIVE, 0, NULL, 0 );
Просто убедиться задержать его, когда Вы сделаны...
Можно использовать программу Кофеин кофеин , чтобы не дать спать рабочей станции. Вы могли запустить программу через открытую команду в OS X.