public static void setPrograms() {
		getPrograms().clear();		
		try {
	        String line, name = "";
	        String[] str = null;
	        Process p = Runtime.getRuntime().exec(System.getenv("windir") +"\\system32\\"+"tasklist.exe /v /fo csv");
	        BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
	        
	        while ((line = input.readLine()) != null) {
	        	if(!line.contains("N/A") && !line.contains("PID")) {
	        		str = line.split(",");
	        		name = str[0].substring(1, str[0].length() - 1);
	        		if(str.length == 10) {
		        		Program program = new Program(name, 
		        				str[4].substring(1) + " " + str[5].substring(0, str[5].length() - 1), 
		        				str[9].substring(1, str[9].length() - 1), null);
		        		byte[] ic = prIcon.getImage(name);
		        		if(ic != null) {
		        			program.setImage(ic);
			        		getPrograms().add(program);
		        		}
	        		} else {
	        			Program program = new Program(str[0].substring(1, str[0].length() - 1), 
		        				str[4].substring(1, str[4].length() - 1), 
		        				str[8].substring(1, str[8].length() - 1), null);
	        			byte[] ic = prIcon.getImage(name);
	        			if(ic != null) {
		        			program.setImage(ic);
			        		getPrograms().add(program);
		        		}
	        		}
	        	}
	        }
	   	                     
	        input.close();
	    } catch (Exception err) {
	        err.printStackTrace();
	    }
	}