QQ的窗口抖動功能我想大家應該使用過,今天給大家帶來的就是用C結合windoww API來實現類似QQ窗口抖動的小知識,其實窗口的抖動的原理就是讓它在不同的幾個位置停頓一小下然后再來回移動.
#include <stdio.h>
#include<Windows.h>
int main(void)
{
int time=60; //休眠的時間,為60毫秒
int distance=10; //移動了10像素
RECT rect; //RECT是一個矩形結構體,相當于保存了一個矩形的四條邊的坐標
HWND window=NULL, oldwindow=NULL; //兩個窗口句柄
int x, y, width, height; //用來保存窗口橫縱坐標和寬度、高度的變量
int i;
//抖50次吧
for (i=0; i < 10; i++) {
window=GetForegroundWindow(); //拿到活動窗口
if (window !=oldwindow) {
//獲取指定窗口的位置
GetWindowRect(window, &rect);
x=rect.left;
y=rect.top;
width=rect.right - x;
height=rect.bottom - y;
oldwindow=window;
}
MoveWindow(window, x - distance, y, width, height, TRUE); //移動窗口,向左移動了10像素,下同
Sleep(time); //休眠time毫秒,線程休眠
MoveWindow(window, x - distance, y -distance, width, height, TRUE);
Sleep(time);
MoveWindow(window, x, y - distance, width, height, TRUE);
Sleep(time);
MoveWindow(window, x, y, width, height, TRUE);
Sleep(time);
}
return 0;
}
原理無非就兩點:停頓和移動,那我們來講一下二者的具體實現,關于停頓我們用到了sleep函數,這里有一點簡單提一下,sleep函數在windows和linux中是不一樣的,除了頭文件以外,windows中單位為毫秒且S要大寫,而linux中為秒,我們這里默認的是windows中,就相當于調用了windows API函數,這就形成了停頓的效果!而窗口的移動同樣還是調用windows中的API,包括獲取句柄,移動位置等。總體來說抖動功能的實現思路是比較簡單的的,代碼量也不大,有興趣的可以自己嘗試一下。
文章都是手打原創,每天最淺顯的介紹C語言、C++,windows知識,喜歡我的文章就關注一波吧,可以看到最新更新和之前的文章哦。如果足下基礎比較差,不妨關注下人人都可以學習的視頻教程
《C語言51課視頻教程合集》
《C++45課視頻教程》
通俗易懂,深入淺出,一個視頻只講一個知識點。視頻不深奧,不需要鉆研,在公交、在地鐵、在廁所都可以觀看,隨時隨地漲姿勢
Q和微信都是騰訊旗下的社交軟件,這兩大軟件在國內都有著近十億的用戶群體,其實我們在生活中可以發現,如果是上班的群體那么使用微信比較多,因為微信的聊天界面和功能都十分簡潔、微信支付也挺方便,而對于學生一族來說,自然是使用QQ比較多,QQ黃鉆、QQ會員這些都是可以彰顯出年輕人的個性的。
QQ和微信經常被作為兩個互相比較的對象,總的來說,微信被人們吐槽的次數遠高于QQ,不管是文件傳輸還是清除消息記錄,微信總是有著太多的不便,但其實我們細細觀察來,微信在這些被吐槽的背后,是一款極致性產品所應有的。微信再次更新,悄悄上線兩個功能,網友:再也不怕手滑了
拍一拍這個功能可以說在一夜之間引爆了朋友圈,其實要說這個功能有多稀奇也不稀奇,微信拍一拍的功能就和QQ窗口抖動是差不多的,但在交互上面,雙擊對方的頭像即可觸發拍一拍就非常有意思了,另外,拍一拍還給兩個人的交流增添了一絲絲氛圍,如果你不好意思開口說話,那就大膽的雙擊對方的頭像。
拍一拍上線不久以后,微信團隊就更新了這個功能,可以在拍一拍后面添加自己獨特的小尾巴。有利就有弊,拍一拍難免存在拍錯的情況,如果在工作群里不小心拍到了老板、不小心拍到了自己的女神,那這多尷尬,為了解決誤觸,微信在最新的IOS最新的版本中更新了拍一拍撤回功能,和撤回消息一樣,如果拍錯了對象,兩分鐘之類是可以撤回的,這下大家再也不用擔心手滑了。
朋友圈也是我們的一大社交之地,做完一件事情開開心心的發一個朋友圈,但總有人不理解你,評論一些陰陽怪氣的話語,這時候你的心情是不是一瞬間就變差了,不要怕,微信可以刪除評論了,為了解決這一個痛點,微信團隊在近期的更新版本之中也添加了這個功能,讓我們可以無視朋友圈的評論了,看見哪個評論不爽就刪除哪個。
最后,你還希望微信增加哪些小功能呢?快在下方評論吧
沒事吧?
你沒事吧?
沒事就吃溜溜……
不好意思放錯片子了
看到標題,聰明的你一定猜到了,今天是聊彈窗的。
起因是被電信的一個彈窗搞得很煩,然后又想起百度網盤弄的一個沒有價值的彈窗,就打算聊一點我對 APP 彈窗的一些看法。
先聊看法再吐槽。
彈窗是一種十分強勢、霸道的干擾行為:
不管你在干啥、打算干啥,你必須得看!
在用戶沒有預期的時候彈一個窗口出來,
無論這個彈窗多么漂亮,特效多么炫酷,
都或多或少的打斷了原有的操作流程,
對體驗造成負面影響。
正因為上述原因,在很多的 APP 里面,彈窗都屬于稀缺資源:
犧牲了體驗,就要創造價值。
所以,在打算搞一個彈窗之前,要反反復復地問自己:
這個彈窗有沒有價值?
必須要用彈窗嗎,有沒有替代方法?
必須在這個時間點彈嗎,早一點遲一點行不行?
從價值的角度看,APP 彈窗大概可以分為 3 種:
1、廣告營銷類,能給 APP 帶來實際的利益。
比如視頻 APP 里面宣傳新片、新劇的彈窗,能給 APP 帶來廣告收入。
比如電商 APP 里面發紅包、領優惠券的營銷彈窗,能促進下單、提高客單價,提高 APP 的 GMV。
這類彈窗其實都有替代方法,
比如開屏、首屏或 banner 廣告,但沒必要——
賣的多賺的多,金主爸爸愿意給錢、價格合適就可以賣。
畢竟,不看廣告看療效,無論曝光還是轉化,彈窗的效果都是杠杠的。
2、操作流程類,保證用戶操作不出錯、流程順暢,甚至還能給 APP 免責。
比如,我記得微信、支付寶給陌生人或者危險賬號轉賬時,就會彈窗提醒。
這種彈窗很重要,一方面暫時中斷了操作,提醒用戶操作的后果,
另一方面,萬一用戶被騙了打上門來,就可以說:
你看我都彈窗提醒你了,是你自己點了彈窗確認的。
又比如,用 APP 買電影票或者訂酒店時卡里錢不夠了,那最好彈一個窗口進行強提醒。
不然七夕相會變勞燕分飛,APP 的命運就是被卸載。
這類彈窗一般不可替代,因為需要給用戶明確的反饋,讓用戶知道操作產生的效果。
雖然沒有替代方式,但有一些可以弱化,甚至取消。
比如抖音刷到了好看的小哥哥小姐姐,點一下關注,這時候如果彈出一個酷炫窗口說“關注成功”就不合適。
可以弱化成四個半透明的字,隨后消失。
或者干脆取消掉,畢竟小心心[心]已經變紅了。
3、其它類,沒鳥用的彈窗。
也就是接下來要吐槽的,既不能給 APP 創造價值,也沒有給用戶使用帶來幫助的彈窗,甚至讓用戶困惑,影響 APP 的使用。
這一類彈窗的內容,發一條通知消息或者短信足夠了。
如果內容不重要,完全可以不用發,省下這 1 毛錢。
你們知道,百度網盤有個尊貴的 SVIP 吧?
沒用過?哎呀,我跟你說,老尊貴了,各種特權。
就那 APP 的圖標,都是尊貴的黑色(shǎi)。
就為了讓尊貴的 SVIP 換上這尊貴的黑色(shǎi)圖標,
百度網盤推出了尊貴的 SVIP 專享的服務:
SVIP 尊貴彈窗!
之前老曹為了提高搬磚效率,買了一些資料,這些資料是放在百度網盤上的。
資料實在太大,下載實在太慢,為了更快搬磚,購買了 SVIP。
別說,速度確實挺快,網速直接拉滿。
大概是發現我有很多尊貴特權沒使用,
特別是沒換上尊貴的 SVIP 專享黑色(shǎi)圖標。
這怎么行?
花了 SVIP 的錢當然要提供 SVIP 的尊貴服務。
百度這么大的公司還能占用戶便宜?
于是,百度網盤行動了——
給我彈了一個大大的彈窗,告訴我可以換圖標了。
還彈了不止一次。
當時看到彈窗只覺得厭煩,直接點掉了,
沒有截圖,實在遺憾——
畢竟是尊貴的 SVIP 超大彈窗呢。
唉,怎么說呢?這個彈窗:
對公司來說,使用了數次推送資源,卻沒有產生廣告收益,也沒有促進自己業務的轉化;
對用戶來說,多次打擾卻沒有提供任何價值增量,只是為了告知一個錦上添花的功能,而這個功能大概都算不上“花”。
老曹估摸著,大概是產品經理搞了個換圖標的功能,為了證明這個功能多么牛逼、多么受用戶喜愛,就要提高使用率,但是用的人實在太少,數據實在慘不忍睹,于是就用彈窗來推這個功能。
如果工作量不飽和,真是閑著沒事,修修 bug 不好么?
沒事,也可以吃溜溜梅啊。
自從用了電信的手機號之后,就經常收到下面這樣的彈窗:
看圖片可能沒有感覺,容老曹稍微解釋一下這個彈窗的可愛之處。
1、他說我“即將接聽”,但我根本就沒打算接聽,
而且,我想接也接不了——這個號碼通話記錄,連屏蔽記錄都沒有。
所以,電信可能直接把這通來電屏蔽掉了。
2、如果電信直接屏蔽了,為啥還要通知我?
如果要通知我,通知內容不應該是屏蔽了某某號碼么?
即將接聽....寫這文案的真是大聰明。
3、通知我可以,那,為啥不是短信,而是彈窗?
一定要懟我臉上:快看快看,我給你屏蔽了個號碼!
這么大的功勞,我可真得謝謝你。
4、彈就彈吧,這個彈窗還會自動消失。
看到保存和取消兩個按鈕沒?
不用點,在屏幕的任何操作都會讓這個彈窗消失,然后就沒了,沒了……
這個信息了就找不到了,彈了個寂寞。
5、保存按鈕有啥用?
我為啥要先保存?我不應該先撥號問問是誰打我電話?
如果覺得可能誤屏蔽、我可能需要保存號碼,直接短信通知更好。
短信可以直接撥號,也可以直接刪除,或者干脆不管,都比彈窗方便。
現在這意思,兩個按鈕非得點一個唄?
6、因為不是短信,這個彈窗可能需要單獨開發。
我猜電信可能調用了手機里的某種權限或功能,才能把信息彈出來,而且還是置頂覆蓋其它 APP。
費了那么大勁,就是為了告訴我,屏蔽了一個沒用的號碼?
放著免費的、不用開發的短信不用,
專門弄個彈窗,日復一日地跳出來,
就為了告訴用戶:
我給你屏蔽了一個垃圾號碼!
我不理解好嗎?!
不給公司創造任何價值,
卻給用戶帶來諸多煩惱,
我說這是沒鳥用的彈窗,
大家應該沒意見吧?
話說,之前在微博吐槽過這個彈窗,電信客服聯系我來著,但我沒搭理。
不過,現在也好久沒見到這個彈窗了,成了消失的彈窗。
也許,其他人反饋了這個問題,或者內部發現了問題。
總之,知錯能改,還是不錯的。
像我這樣的中老年人,大概會記得十幾年前,QQ 上線了一個牛逼的功能:
抖一抖。
這是個啥功能呢?
就是咱倆電腦都開著 QQ,我給你發一個抖一抖,不管你在干啥,你電腦上的 QQ 都會蹦出來,切到和我的聊天界面,然后抖三抖。
是的,就是整個聊天框抖三抖。
如果你不在線,那么等你在線的時候,聊天窗口也會彈出來,抖抖抖。
這個功能挺好玩,于是很快流行起來,然后變了味:
給你發消息不回?抖你一下。
給你發視頻不接?抖你一下。
甚至看到好友上線了、感到無聊了,也給人發個抖一抖。
被抖的多了,我就發現這個功能特別討厭——
強打擾,沒禮貌,毫無邊界感。
比如:
正和朋友中門對狙,輸了請吃飯,嘣~,一個彈窗……
正在噼里啪啦敲鍵盤趕 deadline,嘣~,一個彈窗……
鎖了門關了窗熄了燈,蒙著被子看恐怖片,啊,貞子要爬出來了……嘣~,一個彈窗。
如果你沒用過 QQ,體會不到被彈窗的痛苦,可以想象一下:
你正用手機開視頻會議,激情澎湃地跟領導描繪項目的美好前景;
你正在王者峽谷戰斗,對面只剩一人殘血,你按下大招準備拿下 5 殺;
這個時候,嘣~
手機一陣抖動,
出現一個微信聊天窗口——
老曹抖了抖你。
所以,我一般會把 QQ 的窗口抖動關掉,同時堅決不給別人發抖一抖。