李荣浩同名专辑
Hao 音乐,支持下正版👍
今天拿到亲笔签名 CD 了! 接下来会花些时间分析每首歌曲的和弦~
Hao 音乐,支持下正版👍
今天拿到亲笔签名 CD 了! 接下来会花些时间分析每首歌曲的和弦~
寒假好漫长,怎么还不开学?
时间过得真的好快,还记得2013年,仿佛就在昨天...
(发布于2014年1月1日)
十二月,雾霾笼城。十面霾伏下,压抑得让人窒息——恰如我此刻的心情。
快节奏的大学生活刺激着每个人的神经。虽已大三,我却依然无法适应这一切。室友们在实验室和教室间来回穿梭,或是做项目,或是备战考研,都已收获颇丰。而我,还在迷茫中上下求索。无处可去的周末,我只好来到室友所在的实验室。
实验室里出奇地安静,安静得令人窒息。唯有此起彼伏的"啪啪啪,啪啪啪"——敲键盘的声音。
习惯性地掏出手机消磨时光,没玩多久就去了趟卫生间。回来后,发现坐在旁边的@詹辉已不见踪影。恰好此时接到老朋友来电,平日话少的我竟与他畅聊了整整一小时。正想结束通话,手机突然"嘟"的一声自动挂断,跳回了主界面。
看了手机桌面后,我惊呆了:一半的应用图标竟呈现出诡异的"剥落"状态,如同墙皮斑驳,已千疮百孔,完全无法打开。
惊慌之下,我用@詹辉的电脑搜索这些症状。果然,这是最新的"sense"(谐音"丧尸")病毒,目前还没有可以查杀它的工具。这款恶意 APP 不仅能远程控制手机,窥视前置摄像头和所有数据,更能随时摧毁整个系统!我立刻想到,一定是@詹辉趁我去卫生间时在我手机上装了病毒,然后溜之大吉。
病毒正以肉眼可见的速度侵蚀着手机,扩散愈发猛烈。当已有80%的应用遭到感染,仅剩寥寥数个APP可用时,我赶忙打开已安装应用列表,发现了一个可疑的"remote"开头的程序。果断将其卸载后,心中一阵暗喜,却发现情况并未完全好转:虽然病毒停止了肆虐,但受损的数据并未自动恢复。手机弹出提示:必须手动整理才能修复损坏的数据。我毫不犹豫地点击了确定。
一阵恍惚后,我失去了短暂的意识。当努力睁开双眼,发现自己置身于一间异常诡异的房间。这里比实验室更加寂静,连键盘的"啪啪啪"声都消失得无影无踪。映入眼帘的是无数整齐叠放的方格,犹如一座巨大的格子书架。昏黄的灯光本该营造出约会时那般暧昧的氛围,此刻却令人毛骨悚然。我大声呼喊,却只换来空旷的回音。
尽管内心惊惧,但好奇心驱使我走近那座格子书架。每个格子里都堆满了破碎的书籍、笔记和CD。撕裂的书籍残片分散在不同格子中;地上散落着支离破碎的CD和歌词本;墙上的照片色彩斑驳混乱,桌上放着笔和调色盘,似乎在等待有人为它们重新上色。
正当我仔细查看这些碎片时,房间突然响起一阵酷似QQ提示音的咳嗽声。我从格子间爬出,看到墙上的屏幕显示:"您已进入文件修复系统,完成文件碎片整理后,大门将自动开启。"
卧槽?我已进入手机内部?那么,这些书籍和笔记应该对应着文本文件,墙上的照片对应图片文件,CD则对应着音频文件吧。可是,这堆积如山的文件,要整理到何年何月啊?
突然,这间神秘的房间传来一阵巨响,餐桌上不知何时已坐满了我的家人,他们正其乐融融地用着餐。我走到餐桌前,几近哀求地恳请他们帮助。外公将我拉到房间角落,压低声音说道:"孩子,没有人能真正帮得了你。要靠自己的力量走出这里,加油。"
我无奈地点点头,在角落愣住了。待我回到餐桌时,桌上已空无一人,格子书架上的损坏文件依旧杂乱无章。不一会儿,又是一阵提示音响起,抬头一看竟是变红的手机剩余电量。我的心猛地一颤——这意味着我必须在电池耗尽前完成整理,否则后果不堪设想!不能再拖延时间了,必须赶紧整理!
正当我手忙脚乱,不知从何处着手时,一阵清脆的脚步声由远及近。我连忙打开房间的窗户张望,竟看到一个女神般的身影。她对这个房间似乎了如指掌,丝毫不显惊讶。我立即向她求助,让她告诉我走出这间屋子的方法。
"没有捷径可走,只能脚踏实地地整理。"她平静地说。
"你怎么这样啊?亏你还是个美女。"我略显着急和失望。
"我简直无语,"她叹了口气,"那本姑娘就帮你一把吧。把你朋友的手机号给我,我打电话让他们给你的手机充电,这样你就有无限时间整理了。"
我说:"号码都躺在我手机通讯录里,我记不住。"
"白痴,真受不了你。"她无奈地说,"那把你的号码给我,我给你打电话,他们应该能听见。"
"134********。"
片刻之后,熟悉的手机铃声在房间内轰然响起,仿佛有个看不见的巨型音箱在播放。我的耳膜承受着前所未有的冲击,随即惊醒过来。
神秘的房间消失了,一切恢复如初。我立即查看手机通话记录,发现一个陌生号码。激动地回拨过去,几秒后电话接通。
"您好,这里是百合网,请问有什么需要帮助的吗?"
"城里的月光把梦照亮,把所有问题都自己扛。"
在演唱《可爱女人》后,声乐老师给出了一些的建议:
R&B 节奏蓝调,除了旋律之外,就是节奏的重要性,如果失去了这样的律动,也就失去了节奏蓝调的特点,所以声音仿佛慵懒,但是却是皮软却有弹性的哦,骨头支架都要在有木有,但是是有方法可以实现的,还是我说的那个气息的练习,它是肌肉有协调性周期性的匀速运动造成的,就好比你打气,你必须用自己的身体肌肉去感知,你什么时候是顺着力量往下打的,什么时候又是往上回抽打气筒的,我们需要一个巧字,四两拨千斤。在我说的气息练习的视频里,你可以在呼完气的瞬间,就选择放松,重点就是只放在呼上面,就能练习出那种,你想唱得很有弹性,又不飘的感觉了。多多练习~!加油~!。这样你的声音和感觉才会完全融入进节奏蓝调里。
最近开始了解 R&B 音乐。看到编曲吧的大神推荐了一些优质的 R&B 歌曲,我因此听到人生第一批纯正的 R&B 音乐。没有理由不分享出来,选了几首自己喜欢的推荐给大家~
Foolish - Ashanti
No Scrubs - TLC
So Sick - Ne-Yo
Rude Boy - Rihanna
明天 - 王珏
7 Days - Craig David
2011年9月的时候,我们网络部的同学和学长们在人人网开始了抢沙发比赛。于是写了一个人人网自动抢沙发的小工具,让我们部门永远都能坐上沙发。今天分享下源码,仅供学习参考。
通过 Windows API 检测特定窗口类名和尺寸,模拟鼠标点击实现自动留言。
#include <windows.h>
#include <process.h>
#include "resource.h"
#define CW_SCREEN 1
#define CW_WORKAREA 3
// 窗口居中显示
BOOL WINAPI CenterMainWindow(HWND hWnd, DWORD dwFlags)
{
RECT rtWindow = {0};
RECT rtContainer = {0};
GetWindowRect(hWnd, &rtWindow);
rtWindow.right -= rtWindow.left;
rtWindow.bottom -= rtWindow.top;
switch(dwFlags)
{
case CW_SCREEN:
rtContainer.right = GetSystemMetrics(SM_CXSCREEN);
rtContainer.bottom = GetSystemMetrics(SM_CYSCREEN);
break;
case CW_WORKAREA:
SystemParametersInfo(SPI_GETWORKAREA, 0, &rtContainer, 0);
break;
}
return SetWindowPos(hWnd, HWND_TOP,
(rtContainer.right - rtWindow.right) / 2,
(rtContainer.bottom - rtWindow.bottom) / 2,
0, 0, SWP_NOSIZE | SWP_HIDEWINDOW);
}
// 检测是否为人人网留言窗口
bool IsRenrenCommentWindow(HWND hwnd)
{
TCHAR buff[256];
GetClassName(hwnd, buff, 255);
if (wcscmp(buff, L"GTK2-W") == 0)
{
RECT rct;
GetClientRect(hwnd, &rct);
if(rct.right == 272 && rct.bottom > 110)
{
return true;
}
}
return false;
}
POINT cursorPos; // 鼠标位置
RECT commentWndRect; // 留言窗口位置
// 自动点击留言按钮并关闭窗口
BOOL CALLBACK AutoPostComment(HWND hwnd, LPARAM lParam)
{
if(IsRenrenCommentWindow(hwnd))
{
OutputDebugString(L"找到留言窗口");
GetWindowRect(hwnd, &commentWndRect);
GetCursorPos(&cursorPos);
// 点击发送按钮
int sendBtnX = commentWndRect.right - commentWndRect.left - 10;
int sendBtnY = commentWndRect.bottom - commentWndRect.top - 30;
for (int i = 0; i < 5; i++)
{
SendMessage(hwnd, WM_LBUTTONDOWN, 0, (sendBtnY << 16) + sendBtnX);
SendMessage(hwnd, WM_LBUTTONUP, 0, (sendBtnY << 16) + sendBtnX);
}
// 点击关闭按钮
int closeBtnX = commentWndRect.right - commentWndRect.left - 100;
int closeBtnY = commentWndRect.bottom - commentWndRect.top - 50;
SendMessage(hwnd, WM_LBUTTONDOWN, 0, (closeBtnY << 16) + closeBtnX);
SendMessage(hwnd, WM_LBUTTONUP, 0, (closeBtnY << 16) + closeBtnX);
PostMessage(hwnd, WM_CLOSE, 0, 0);
}
return 1;
}
// 查找并处理所有留言窗口
void ProcessCommentWindows()
{
EnumWindows(AutoPostComment, NULL);
}
// 安装定时器钩子
void InstallCommentHook(PVOID pvoid)
{
OutputDebugString(L"开始监控留言窗口");
SetTimer(NULL, 0, 200, (TIMERPROC)ProcessCommentWindows);
MSG msg;
while (GetMessage(&msg, 0, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
// 主窗口消息处理
LRESULT MainDlgProc(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam);
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow)
{
MSG msg;
HWND hDlg = CreateDialog(hInstance, (LPCTSTR)IDD_DIALOG1, 0, (DLGPROC)MainDlgProc);
ShowWindow(hDlg, nCmdShow);
_beginthread(InstallCommentHook, 0, NULL);
while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return 0;
}
// 主窗口过程
LRESULT MainDlgProc(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam)
{
int wmId, wmEvent;
switch (Msg)
{
case WM_CLOSE:
DestroyWindow(hDlg);
return TRUE;
case WM_DESTROY:
PostQuitMessage(0);
return TRUE;
case WM_COMMAND:
wmId = LOWORD(wParam);
wmEvent = HIWORD(wParam);
switch (wmId)
{
// 添加按钮处理
}
break;
case WM_INITDIALOG:
CenterMainWindow(hDlg, CW_SCREEN);
break;
}
return FALSE;
}